Framework

EnableWhen

BY KARL HAJEK

Controls einfacher enablen/disablen

Um Felder in Eingabemasken oder Grids zu enablen/disablen, musste bisher ausschließlich mit dem Element OnUpdateUIState gearbeitet werden. Da dies aufgrund seiner Struktur aber mit Case-Anweisungen umzusetzen ist, muss hier bei einer großen Anzahl von Controls in Verbindung mit verschiedenen Bedingungen ein richtiger XML-Spaghetticode erzeugt werden. Mit dem neuen Attribut EnableWhen des Elements FieldInfo wird das nun erheblich vereinfacht, da eine Bedingung direkt beim Feld hinterlegt werden kann und das automatisch für alle damit verbundenen Eingabemasken (RWIs) gilt. Im Prinzip wurde hier nur die gleiche Funktionalität nachgezogen, die es schon lange beim Element Command gibt.

RWI_MDERRDA
Vorher
<View AllowDrop="true" FocusAfterAddNew="LST_TITEL">
	<OnUpdateUIState>
		<Case Condition="[LFZ_STD_MAN]=1" Break="false">
			<GuiItems>
				<Item FieldName="LFZ_STD" Enabled="true"/>
			</GuiItems>
		</Case>
		<Case Condition="[LFZ_STD_MAN] is null or [LFZ_STD_MAN]=0" Break="false">
			<GuiItems>
				<Item FieldName="LFZ_STD" Enabled="false"/>
			</GuiItems>
		</Case>
	</OnUpdateUIState>
</View>
Nachher
<View AllowDrop="true" FocusAfterAddNew="LST_TITEL"/>


DCI_MDERRDAC_BASE
Vorher
<FieldInfo Name="LFZ_STD" Title="Stunden" />
Nachher
<FieldInfo Name="LFZ_STD" Title="Stunden" EnableWhen="LFZ_STD_MAN=1" />

Tags: Controls

Kommentare 0

Kommentar schreiben