Zum Hauptinhalt springen

EvtLstEditEndGroup

EvtLstEditEndGroup

Abschließen der Bearbeitung einer Gruppe im RecView

Details

Das Ereignis wird nach dem Ereignis EvtLstEditEndItem ausgelöst. Weiterhin wird es auch aufgerufen, wenn im Ereignis EvtLstEditStartGroup der Parameter aResult auf _WinRvwGroupEditAbort gesetzt wurde. Hier kann der Datensatz gespeichert oder entsperrt werden.

Definition des Funktionskopfes:

sub EvtLstEditEndGroup
(
aEvt : event; // Ereignis
aGroup : handle; // Gruppe
aRecBuf : handle; // Datensatzpuffer
aAbort : logic; // Abbruch-Anforderung
aResult : int; // Eingabe-Resultat
)
: 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.

aGroup

In diesem Parameter wird der Deskriptor der editierten Gruppe übergeben. Die Eigenschaften SelectorItem und SelectorSubItem sind entsprechend gesetzt, so dass das zu editierende Item identifiziert werden kann.

aRecBuf

Hier wird der Datensatzpuffer mit den aktuellen Feldinhalten des Datensatzes übergeben.

aAbort

Dieser Parameter gibt an, ob der Benutzer die Bearbeitung abbricht (true) oder nicht (false). Sofern Datenbankfelder im Ereignis EvtLstEditEndItem verändert wurden, sollten diese hier in die Datenbank übertragen werden und eine eventuell im Ereignis EvtLstEditStartGroup vorgenommene Datensatzsperre ebenfalls aufgehoben werden.

info

Wird ein Item verändert und mit Tab oder Umschalt + Tab das nächste oder vorherige Item angesprungen, wird in jedem Fall false übergeben, auch wenn im Ereignis EvtLstEditEndItem der Parameter aResult auf _WinRvwGroupEditAbort gesetzt wurde.

aResult

Dieser Parameter ist reserviert für zukünftige Erweiterungen und wird momentan nicht ausgewertet.

Resultat

Der Rückgabewert der Funktion wird nicht ausgewertet.

Beispiel:

sub EvtLstEditEndGroup
(
aEvt : event; // Ereignis
aGroup : handle; // Gruppe
aRecBuf : handle; // Datensatzpuffer
aAbort : logic; // Abbruch-Anforderung
aResult : int; // Eingabe-Resultat
)
: logic; // Wird nicht ausgewertet

{
// nur Abbruch -> Datensatz entsperren
if (aAbort)
aRecBuf->RecRead(0, _RecID | _RecUnlock | _RecNoLoad, aRecBuf->RecInfo(_RecID));
// Datensatz in der Datenbank ändern und RecView aktualisieren
else
{
aRecBuf->RecReplace(_RecUnlock);
aEvt:obj->WinRvwUpdate(_WinRvwUpdateFromTop | _WinRvwUpdateDoKeepSelect);
}
}