Zum Hauptinhalt springen

EvtLstViewInit

EvtLstViewInit

Ereignis bei erstmaliger Initialisierung eines Views

Details

Das Ereignis wird aufgerufen, wenn ein View erstellt und initialisiert wird. Dieses Ereignis bestimmt den Aufbau der Liste und den selektierten Satz.

Definition des Funktionskopfes:

sub EvtLstViewInit
(
aEvt : event; // Ereignis
aRecBuf : handle; // Datensatzpuffer
aViewId : int; // Nummer des Views
aUpdateMode : int; // Initialisierungsmodus
)
: logic; // Initialisierungsmodus verwenden?
{
return(true);
}

aEvt

In diesem Parameter wird der Deskriptor des aufrufenden Objekts übergeben. Dabei handelt es sich um das Objekt, bei dem die Ereignisfunktion eingetragen wurde.

aRecBuf

In aRecBuf wird der Deskriptor des Datensatzpuffers angegeben, über den das View des RecViews die Datensätze liest.

aViewId

Dieser Parameter enthält die Nummer des Views , das initialisiert wird. Ein RecView kann über die Eigenschaft SplitStyle in bis zu vier Views geteilt werden. Dadurch kann eine unterschiedliche Darstellung der Items und SubItems pro View erreicht werden.

aUpdateMode

In diesem Parameter wird der gewünschte Initialisierungsmodus zurückgegeben. Der Parameter kann auf folgende Werte gesetzt werden:

Die Konstanten _WinRvwUpdateFrom... können mit _WinRvwUpdateDoSelect kombiniert werden, um den Datensatz zu selektieren. Wird diese Konstante nicht gesetzt, wird die Selektion aufgehoben.

info

Wird in aUpdateMode 0 zurückgegeben, findet ein Aufbau des Views ab dem ersten Datensatz statt.

Resultat

Der Rückgabewert der Funktion entscheidet darüber, ob das View mit dem angegebenen Initialisierungsmodus aktualisiert wird (true) oder das RecView ab dem ersten Datensatz aufgebaut wird.

Besonderheiten

info

Während dieses Ereignisses ist eine Veränderung des RecView -Objektes nicht zulässig. Eigenschaften und Befehle, die das RecView , die Columns oder SubColumns verändern würden, lösen den Laufzeitfehler _ErrHdlInvalid aus. Das Abfragen von Eigenschaften sowie der Aufruf von WinInfo () sind zulässig.

info

Das Ereignis wird nicht aufgerufen, wenn aufgrund nicht gesetzter Eigenschaften wie DbFileNo , DbLinkFileNo oder DbKeyNo keine Datensätze vorhanden sind.

Beispiel:

sub EvtLstViewInit
(
aEvt : event; // Ereignis
aRecBuf : handle; // Datensatzpuffer
aViewId : int; // Nummer des Views
aUpdateMode : int; // Initialisierungsmodus
)
: logic; // Initialisierungsmodus verwenden?

local
{
tDate : date;
}

{
// Schlüsselfeld auf aktuelles Datum vorbelegen
tDate->vmSystemTime();
aRecBuf->fdNewsDate # tDate;

// Update durchführen und selektieren
aUpdateMode # _WinRvwUpdateFromRecBuf | _WinRvwUpdateDoSelect;

return(true);
}