Programmieren mit dBASE PLUS: Events: canNavigate

Aus Wikibooks


canNavigate im Form[Bearbeiten]

Dieses Event wird bei dem Versuch ausgelöst, eine Bewegung innerhalb einer Tabelle auszuführen. Es hängt vom Rückgabewert ab, ob der Datensatzzeiger bewegt wird.

Parameter[Bearbeiten]

<Arbeitsbereich AusdruckN>

Die Nummer des Arbeitsbereichs, in dem die Bewegung stattfinden soll.

Eigenschaft von[Bearbeiten]

Form

Beschreibung[Bearbeiten]

Das Event canNavigate des Formulars dient zur formularorientierten Datenverwaltung von Tabellen in Arbeitsbereichen. Bei Verwendung von Datenzugriffsobjekten wird canNavigate nicht ausgelöst. Verwenden Sie in diesem Fall das canNavigate -Event des Datensatzbereichs.

Mit Hilfe von canNavigate läßt sich die Bewegung an bestimmte Bedingungen knüpfen. Bei einer Bewegung werden im Datensatzpuffer befindliche Änderungen gespeichert. Im Event-Handler für canNavigate kann durch Gültigkeitsprüfungen auf Datensatz- oder Formularebene festgestellt werden, ob die Daten dauerhaft gespeichert werden sollen.

canNavigate wird ausgelöst, während sich der Datensatzzeiger noch auf dem aktuellen Datensatz befindet. Dieses Event kann deshalb auch dazu benutzt werden, um vor dem Verlassen des Datensatzes weitere Aktionen auszuführen. In diesem Fall muß canNavigate True zurückliefern, damit die Bewegung ausgeführt werden kann.

onNavigate wird nur ausgelöst, wenn das Formular geöffnet ist und Steuerelemente enthält, die über die Eigenschaft dataLink mit Feldern verbunden sind. Wenn Sie beispielsweise mit USE auf eine Tabelle zugreifen, ein leeres Formular erzeugen und öffnen, einen Event-Handler für onNavigate definieren und den Befehl SKIP ausführen, führt dies nicht zwangsläufig zur Auslösung von onNavigate.


canNavigate im Rowset[Bearbeiten]

Dieses Event wird ausgelöst, wenn der Cursor in einem Datensatzbereich verschoben werden soll. Der Rückgabewert bestimmt, ob der Cursor verschoben wird.

Parameter[Bearbeiten]

Keine

Eigenschaft von[Bearbeiten]

Rowset

Beschreibung[Bearbeiten]

Der Datensatzcursor kann in einem Datensatzbereich explizit durch den Aufruf einer Methode zur Cursorsteuerung wie next( ) oder goto( ) oder implizit über die Benutzeroberfläche verschoben werden. Bei letzterer Methode wählen Sie bei der Anzeige des Datensatzbereichs eine Steuerungsoption aus dem Standardmenü Tabelle oder der Schalterleiste. Mit canNavigate kann während der Ausführung eines Formulars überprüft werden, ob der Benutzer in eine andere Zeile wechseln will. Durch vorheriges Prüfen der Eigenschaft modified können Sie feststellen, ob die aktuelle Zeile geändert wurde. Andernfalls stellt sich diese Frage nicht.

Mit canNavigate kann auch, bevor der aktuelle Datensatz verlassen wird, noch irgendeine Operation damit ausgeführt werden. In diesem Fall würde der canNavigate-Event-Handler immer den Wert True zurückgeben.

Der Event-Handler für canNavigate muß den Wert True oder False zurückgeben. Damit wird angezeigt, ob der Datensatzcursor verschoben wird. Informationen über das Zusammenspiel von canNavigate mit anderen Events und impliziten Speicherungen finden Sie unter next( ).