DISPLAY SELECTION

4D - Documentation   Français   English   German   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next

Version 2004 (Geändert)


DISPLAY SELECTION ({Tabelle}{; AuswModus{; EingListe{; *{; *}}}})

ParameterTypBeschreibung
TabelleTabelleZu bearbeitende Tabelle oder
Standardtabelle ohne Angabe
AuswModusLange GanzzahlAuswahlmodus
EingListeBooleanOption 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 für den laufenden Prozess die Liste der ausgewählten Datensätze der Tabelle Tabellenname im aktuellen Ausgabeformular an. Klickt der Anwender einen Datensatz zweimal an, wird dieser standardmäßig im aktuellen Eingabeformular dargestellt, kann aber nicht geändert werden. Wollen Sie den 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 keinen aktuellen Datensatz mehr. Mit den Befehlen FIRST RECORD, LAST RECORD oder GOTO SELECTED RECORD können Sie dann 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 MacOS 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". Mit Wahr ist die Eingabe zugelassen, mit Falsch ist sie nicht zugelassen.

Standardmäßig, d.h. ohne den Parameter EingListe ist die Option "Eingabe in Liste" nicht zugelassen.

Hinweis: Mit dem Befehl SET ENTERABLE können Sie die Option "Eingabe in Liste" jetzt sofort aktivieren oder deaktivieren.

Für die optionalen Parameter * gelten folgende Regeln:

Ist nur ein Datensatz in der Auswahl, erscheint dieser sofort im Eingabeformular. Wurde der optionale Parameter * angegeben, wird auch bei nur einem Datensatz in der Auswahl immer das Ausgabeformular verwendet.

Bei einem Doppelklick unterdrückt der optionale Parameter * außerdem die Rollbalken im Eingabeformular. Durch Angabe eines zweiten * werden die Rollbalken doch dargestellt.

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 MacOS 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.


4D - Documentation   Français   English   German   4D Programmiersprache, Befehle nach Themen   4D Programmiersprache, Befehle alphabetisch   4D Programmiersprache, Konstanten nach Themen   Back   Previous   Next