Table of Contents

Dynamisch gefüllte Combobox

Informationen

  • Kategorien: GUI | Steuerelemente
  • Version: 15.0.0.2620
  • Veröffentlichungsdatum: Freitag, 1. April 2011
  • Entwickler: Götzen
  • Benötigt Datenbankänderung: Ja
  • Betreff: Combobox dynamisch mit Einträgen füllen

Beschreibung

Combobox Steuerelemente lassen sich jetzt dynamisch mit Einträgen füllen.

Dies geschieht mit Hilfe des Events onEvent_GetAttributeValues( ... ) das vom Projektentwickler bereitzustellen ist.

Weiterhin können diese dymamischen Werte dann auch im Report oder beim Export in die Anzeigennamen übersetzt werden.

Dies geschieht mit Hilfe des Events onEvent_ValueToDisplayString(( ... ) welches ebenfalls vom Projektentwickler bereitzustellen ist.

Um einer Combobox mitzuteilen, dass diese für jede Entity andere Werte bereitzustellen hat, gibt es jetzt eine neue erweiterte Eigenschaft der Combobox: B_VOLATILE=TRUE.

Beispielcode

int onEvent_GetAttributeValues( string $sComplexAttributeName, byref string $saValueArray[], byref string $saDisplayStringArray[] )
{
	var int $count;
	var int $iIdx;

	$count = CountUndeletedEntities( :ref_Gebaeude.EL_Ebene_Gebaeude );

	if( $sComplexAttributeName == "EtagenNummer" )
	{
		ReSize( $saValueArray, $count );
		ReSize( $saDisplayStringArray, $count );
		$iIdx = 0;
		while ( $iIdx < $count )
		{
			$saValueArray[ $iIdx ] = IntToStr( $iIdx + 1 );
			$saDisplayStringArray[ $iIdx ] = "Etage " + IntToStr( $iIdx + 1 );
			$iIdx = $iIdx + 1;
		}
		return $count > 0; // return 1 if the array content is valid for this complex attribute.
	}
	return 0;
}

int onEvent_ValueToDisplayString( string $sComplexAttributeName, string $sValue, byref string $sDisplayString )
{
	if( $sComplexAttributeName == "EtagenNummer"  )
	{
		if( $sValue == "" )
		{
			 $sDisplayString = $sValue;
		}
		else
		{
			$sDisplayString = "Etage " + $sValue;
		}
		return 1; // return 1 if the displayValue is valid for this complex attribute and this value.
	}
	return 0;