Version 2004 (Geändert)
DISPLAY SELECTION ({Tabelle}{; AuswModus{; EingListe{; *{; *}}}})
Parameter | Typ | Beschreibung | |
Tabelle | Tabelle | Zu bearbeitende Tabelle oder | |
Standardtabelle ohne Angabe | |||
AuswModus | Lange Ganzzahl | Auswahlmodus | |
EingListe | Boolean | Option Eingabe in Liste erlauben | |
* | Ausgabeformular für einzelnen Datensatz | ||
verwenden und Rollbalken im Eingabe- | |||
formular ausblenden | |||
* | Rollbalken im Eingabeformular anzeigen | ||
(überschreibt die 2. Option des | |||
1. Parameters *) |
Beschreibung
Der Befehl DISPLAY SELECTION zeigt die Auswahl der Tabelle Tabellenname im aktuellen Ausgabeformular an. Die Datensätze erscheinen in einer scrollbaren Liste ähnlich wie die Liste in der Benutzerumgebung. Klickt der Anwender einen Datensatz zweimal an, wird dieser standardmäßig im aktuellen Eingabeformular dargestellt. Die Liste erscheint im vordersten Fenster. Wollen Sie eine Auswahl anzeigen und einen Datensatz auch ändern, verwenden Sie stattdessen den Befehl MODIFY SELECTION.
Alle nachfolgenden Informationen gelten für beide Befehle. Nur für Ändern von Datensätzen gibt es Unterschiede.
Tabellenname ist optional. Wird der Parameter nicht angegeben, bezieht sich DISPLAY SELECTION auf die Haupttabelle.
Nach einem Aufruf von DISPLAY SELECTION gibt es u.U. keinen aktuellen Datensatz mehr. Mit den Befehlen FIRST RECORD, LAST RECORD oder GOTO SELECTED RECORD können Sie wieder einen aktuellen Datensatz bestimmen, ohne die Auswahl verändern zu müssen.
In AuswModus setzen Sie den Auswahlmodus für die Datensätze. Hier können Sie eine der Konstanten unter dem Thema "Formularparameter" übergeben:
Übergeben Sie No Selection (0), können Sie in der Liste keinen Datensatz auswählen.
Übergeben Sie Single Selection (1), können Sie immer nur einen Datensatz gleichzeitig auswählen.
Übergeben Sie Multiple Selection (2), kann der Benutzer mehrere Datensätze gleichzeitig auswählen: fortlaufend unter Windows mit der Kombination Umschalttaste+Strg, auf Mac OS Umschalt-+Befehlstaste, unterbrochen mit der Strg-Taste bzw. Befehlstaste.
Standardmäßig, d.h. ohne den Parameter AuswModus, wird die Option multiple Auswahl verwendet.
In EingListe ermöglichen Sie in der angezeigten Liste die Option "Eingabe in Liste".Der Benutzer kann danndie Werte des Datensatzes direkt im Ausgabeformular auswählen und ändern. Mit Wahr ist die Eingabe zugelassen, mit Falsch ist sie nicht zugelassen. Standardmäßig, d.h. ohne den Parameter EingListe ist diese Option nicht zugelassen.
Beachten Sie, dass mit diesem Parameter nur möglich ist, die Werte in der Liste auszuwählen und nicht, sie zu ändern. DISPLAY SELCETION lädt nämlich die Datensätze der aktuellen Auswahl im aktuellen Prozess im Nur-Lesen Modus. Die Eingabe von Werten ist nur mit dem Befehl MODIFY SELECTION möglich.
Hinweis: Mit dem Befehl SET ENTERABLE können Sie die Option "Eingabe in Liste" sofort aktivieren oder deaktivieren.
Für die optionalen Parameter * gelten folgende Regeln:
Enthält die Auswahl nur einen Datensatz und wird der optionale Parameter * nicht angegeben, erscheint der Datensatz im Eingabeformular anstatt im Ausgabeformular.
Wird der optionale Parameter * angegeben und zeigt der Benutzer den Datensatz im Eingabeformular durch Doppelklick an, werden die Rollbalken im Eingabeformular ausgeblendet. Um diesen Effekt wieder umzukehren, übergeben Sie einen zweiten optionalen*.
Die selbsterstellten Schaltflächen können im Fuß- oder Kopfteil des Ausgabeformulars liegen, um die Ausführung von DISPLAY SELECTION zu bestimmen. Sie können zum Verlassen die automatischen Schaltflächen Bestätigen oder Abbrechen verwenden bzw. eine Objektmethode, die die Befehle ACCEPT oder CANCEL aufruft. Ein über DISPLAY SELECTION aufgerufenes Ausgabeformular hat keine Schaltflächen. Sie können es nur über die Escape-Taste unter Windows, Esc auf Mac OS verlassen.
Hat der Anwender einzelne Datensätze ausgewählt und verlässt die mit DISPLAY SELECTION erstellte Auswahl, werden die ausgewählten Datensätze in der Menge "UserSet" abgelegt. "UserSet" ist in der Auswahlanzeige für Objektmethoden verfügbar, wenn auf eine Schaltfläche geklickt oder ein Menüeintrag gewählt wird. Diese Menge ist auch in der Projektmethode verfügbar, die DISPLAY SELECTION nach Ausführen des Befehls aufgerufen hat.
Beispiele
1. Folgendes Beispiel wählt alle Datensätze der Tabelle [People]. Sie werden mit DISPLAY SELECTION angezeigt. Der Benutzer kann nun die Datensätze auswählen, die er drucken möchte. Die Datensätze werden mit USE SET ausgewählt und dann mit PRINT SELECTION gedruckt:
ALL RECORDS([People]) ` Wähle alle Datensätze DISPLAY SELECTION ([People]; *) ` Zeige die Datensätze an USE SET ("UserSet") ` Verwende nur die vom Benutzer markierten Datensätze PRINT SELECTION ([People]) ` Drucke die markierten Datensätze
2. Siehe Beispiel #6 für die Funktion Form event. Es zeigt alle Tests, die während dem Ablaufen von DISPLAY SELECTION zur kompletten Steuerung der Ereignisse notwendig sind.
3. Wollen Sie zum Beispiel die Funktionsweise des Menüs Suchen der Benutzerumgebung mit DISPLAY SELECTION oder MODIFY SELECTION in der Runtime-Umgebung reproduzieren, gehen Sie folgendermaßen vor:
a. Erstellen Sie in der Designumgebung eine Menüleiste mit den gewünschten Befehlen, z.B. Alle Datensätze zeigen, Suchen und Sortieren.
b. Weisen Sie diese Menüleiste mit einer negativen Menüleistennummer dem Ausgabeformular zu, das Sie mit DISPLAY SELECTION oder MODIFY SELECTION verwenden.
c. Den Menübefehlen weisen Sie folgende Projektmethoden zu:
` M_ALLE_DATENSÄTZE_ZEIGEN ` (dem Menübefehl Alle Datensätze zeigen zugeordnet) $vpCurTable:=Current form table ALL RECORDS($vpCurTable->)
` M_SUCHEN (dem Menübefehl Suchen zugeordnet) $vpCurTable:=Current form table QUERY($vpCurTable->) ` M_SORTIEREN (dem Menübefehl Sortieren zugeordnet) $vpCurTable:=Current form table ORDER BY($vpCurTable->)
Sie können natürlich auch andere Befehle verwenden, wie PRINT SELECTION, QR REPORT, um andere "Standard" Optionen im Menü der Runtime-Umgebung nachzubauen, die Sie beim Anzeigen oder Ändern einer Auswahl benötigen. Durch die Funktion Current form table sind diese Methoden generisch, d.h. die entsprechende Menüleiste kann jedem Ausgabeformular einer beliebigen Tabelle zugewiesen werden.
Referenz
Einführung in Mengen, Form event, MODIFY SELECTION.