Zum Hauptinhalt springen

EvtLstEditStart

EvtLstEditStart

Spalteneintrag einer Liste ändern

Details

Das Ereignis wird ausgelöst, wenn ein Eintrag in einer Liste editiert werden soll. Das Editieren wird durch den Befehl WinLstEdit () gestartet. Hier können Vorbereitungen zum Editieren des Datensatzes oder der Zeile in einer DataList getroffen werden.

Definition des Funktionskopfes:

sub EvtLstEditStart
(
aEvt : event; // Ereignis
aColumn : handle; // Spalte
aEdit : handle; // Eingabefeld
aList : handle; // DataList
)
: logic; // Wird nicht ausgewertet
{
return(true);
}

aEvt

In diesem Parameter vom Typ event wird unter anderem der Deskriptor des auslösenden Objektes, d. h. das Objekt, in dem die Ereignisfunktion eingetragen wurde, übergeben.

aColumn

In diesem Parameter wird der Deskriptor der editierten Spalte übergeben.

aEdit

Hier wird der Deskriptor des erzeugten Edit-Objekts übergeben.

aList

Wurde der Befehl WinLstEdit () ohne die Parameter _WinLstEditLst oder _WinLstEditLstAlpha aufgerufen, wird 0 übergeben. Im anderen Fall steht hier der Deskriptor des erzeugten DataListPopup -Objekts.

Resultat

Der Rückgabewert der Funktion wird nicht ausgewertet.

Beispiel:

sub EvtLstEditStart
(
aEvt : event; // Ereignis
aColumn : handle; // Spalte
aEdit : handle; // Eingabefeld
aList : handle; // DataList
) : logic; // Wird nicht ausgewertet

{
switch (true)
{
case ((aEvt:Obj->wpName = 'rlsAdressen') and
(aColumn->wpName = 'clmAnrede')) :
{
if (aList != 0)
{
// Aufbau der DataList mit einer Spalte
aList->WinLstDatLineAdd('Herr');
aList->WinLstDatLineAdd('Frau');
aList->WinLstDatLineAdd('Herr Doktor');
aList->WinLstDatLineAdd('Frau Doktor');
...
}
}
...
}

return(true);
}

Der Aufbau einer zweispaltigen DataList (_WinLstEditLstAlpha) wird wie folgt vorgenommen:

...
// erste Spalte
aList->WinLstDatLineAdd('Herr');
// zweite Spalte
aList->WinLstCellSet('Mister', 2);
...

// Standardmäßig wird lediglich die zweite Spalte in der
// Liste angezeigt. Damit auch die erste Spalte dargestellt
// wird, muss diese explizit sichtbar gemacht werden
tItem # aList->WinInfo(_WinFirst);
if (tItem > 0)
{
tItem->wpClmWidth # 50;
tItem->wpVisible # true;
}