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;