4D v14.3Unterformulare als Liste |
||
|
4D v14.3
Unterformulare als Liste
Unterformulare als Liste
Ein Unterformular ist ein Listenformular aus einer anderen Tabelle, das in einem Detailformular angezeigt wird. Mit einem Unterformular als Liste können Sie Daten in anderen Tabellen eingeben, anzeigen und ändern. Sie verwenden normalerweise Unterformulare in Anwendungen, in der Sie Eine-zu-Viele-Verknüpfungen aufgebaut haben. Über ein Unterformular als Liste in einem Formular zu einer verknüpften Eine-Tabelle können Sie Daten aus einer verknüpften Viele-Tabelle anzeigen, eingeben und ändern. Sie können mehrere Unterformulare aus verschiedenen Tabellen im selben Formular haben. Sie können jedoch nicht zwei Unterformulare, die zur gleichen Tabelle gehören, auf dieselbe Seite des Formulars setzen. Eine Anwendung zum Verwalten von Kontakten kann zum Beispiel ein Unterformular als Liste enthalten, das alle Telefonnummern für einen bestimmten Kontakt anzeigt. Obwohl die Telefonnummern in der Anzeige der Kontakte erscheinen, wird diese Information in einer verknüpften Tabelle gespeichert. Über eine Eine-zu-Viele-Verknüpfung in der Struktur lassen sich beliebig viele Telefonnummern pro Kontakt speichern. Mit automatischen Verknüpfungen können Sie die Dateneingabe direkt in die verknüpfte Viele-Tabelle unterstützen, ohne programmieren zu müssen. Obwohl Unterformulare als Listen im allgemeinen Viele-Tabellen zugeordnet sind, kann einen Unterformular Instanz die Datensätze aus jeder anderen Tabelle der Anwendung anzeigen. Sie können ein Unterformular als Liste mit dem Formularassistenten erzeugen. Sie können ein Unterformular mit dem Formularassistenten erzeugen oder über den Formulareditor ein bestehendes Formular hinzufügen. Sie müssen das Listenformular, das sie als Unterformular verwenden wollen, zuerst erstellen. In Unterformulare als Liste lassen sich Daten auf zwei Arten eingeben: Der Benutzer kann Daten direkt im Unterformular eingeben oder sie in einem zugeordneten Eingabeformular eingeben. Hierbei wird das Formular, das als Unterformular verwendet wird, als Listenformular bezeichnet; das Eingabeformular als Detailformular. ------> Sie können dem Benutzer ermöglichen, Daten über das Listenformular einzugeben oder auf eine Zeile im Listenformular zu klicken, um das Detailformular zu öffnen. Um ein Listenformular zu definieren, müssen Sie das Unterformular, welches Sie im Elternformular verwenden wollen, zuerst erstellen und einrichten. Weitere Informationen zu Listenformularen finden Sie im Kapitel Ausgabeformulare und Berichte. Im Elternformular erstellen Sie ein Objekt Unterformular über das Werkzeug Unterformular der seitlichen Objektleiste (Variation der letzten Schaltfläche). Hinweis: Sie können das Listenformular auch per Drag-and-Drop Operationen aus der Seite Formulare des Explorer anlegen. Stellen Sie sicher, dass in der Eigenschaftenliste unter der Gruppe „Unterformular“ die Option Ausgabeformular markiert ist, wählen Sie unter Quelle die Quelltabelle sowie unter Ausgabeformular das passende Formular. Im Elternformular können Sie den Unterformular Container beliebig in der Größe und Position verändern. Sie können verschiedene Eigenschaften für Unterformulare als Liste einrichten und so automatische Funktionalitäten und für Benutzer erlaubte Aktionen (Auswahl und Dateneingabe) steuern. Diese Eigenschaften verwenden Sie in der Regel für Unterformulare als Seite. Weitere Informationen dazu finden Sie im Abschnitt Unterformulare als Seite. Damit können Sie die Art der Quelle für das Unterformular auswählen. Für Unterformulare als Liste wählen Sie die Tabelle, zu der das Unterformular gehört. Damit können Sie dem Unterformular als Liste ein Eingabeformular zuordnen. Es dient zum Eingeben und Ansehen der Datensätze. Es enthält in der Regel mehr Informationen als im Unterformular als Liste angezeigt werden. Das Eingabeformular muss natürlich zur selben Tabelle wie das Unterformular gehören. Sie verwenden normalerweise ein Ausgabeformular als Listenformular und ein Eingabeformular als Detailformular. Definieren Sie kein Formular für den Listenmodus, verwendet 4D automatisch das standardmäßige Eingabeformular der Tabelle. Je nach Konfiguration der Unterformulars kann der Benutzer das Detailformular durch Doppelklick auf einen Datensatz oder über die Befehle zum Hinzufügen und Bearbeiten der Datensätze im Unterformular anzeigen. Hinweis: Sie können einem Unterformular als Liste ein Detailformular zuordnen, indem sie es bei gedrückter Großschreibtaste aus dem Explorer in den Unterformular Container ziehen. Sie können einen Unterformularbereich in einem Formular wie jedes andere Objekt in der Größe ändern. 4D kann die Größe auch automatisch anpassen, so dass alle darin enthaltenen Datenfelder angezeigt werden. Dazu markieren Sie in der Eigenschaftenliste für das Unterformular die Option Automatische Breite. Hinweis: Erstellen Sie einen Unterformularbereich direkt über das Symbol im Explorer, setzt 4D die Breite des Unterformulars automatisch. Für Unterformulare als Liste gibt es drei Auswahlmodi für den Benutzer: Nichts, Einfach und Mehrfach.
Ist ein Unterformular als Liste im Modus Eingebbar in Liste, kann der Benutzer die Daten im Datensatz direkt in der Liste ändern, ohne das dazugehörige Eingabeformular zu verwenden. Er muss lediglich zweimal auf das Feld für die Bearbeitung klicken (Lassen Sie genügend Zeit zwischen den beiden Klicks, damit Sie keinen Doppelklick auslösen). Ist diese Option nicht markiert, ist die Eingabe nur über das zugeordnete Eingabeformular möglich. Sie können festlegen, wie sich ein Unterformular bei Doppelklick des Benutzers verhalten soll. In Anwendungen, die mit einer früheren Version von 4D erstellt wurden, können Sie auch eine Reaktion bei Doppelklick auf eine leere Zeile definieren (Option Kompatibilität).
Der Benutzer kann standardmäßig Datensätze in einem Unterformular über die Tasten Del oder Rückschritt löschen. Ist diese Option inaktiv, kann der Benutzer über die Löschtasten keine Datensätze in Unterformularen löschen. Auf Objekte im Unterformular lässt sich die Eigenschaft Fokusfähig (Gruppe Eingabe) anwenden. Ein Unterformular mit Fokus kann der Benutzer über die Navigationstasten steuern, bei einer mehrzeiligen Auswahl das Menü Alle auswählen verwenden, etc. Erhält oder verliert ein Unterformular den Fokus, wird die Formularmethode des Hauptformulars über die Ereignisse On getting focus oder On losing focus aufgerufen. In diesem Fall gibt die 4D Funktion OBJECT Get pointer oder Focus object einen Zeiger auf die Tabelle des Unterformulars zurück. Wie bei allen fokusfähigen Objekten lässt sich über die Eigenschaft Fokusrahmen ausblenden die grafische Anzeige des Fokus ausblenden. Da es mehr Datensätze geben kann, als der Unterformularbereich aufnehmen kann, bietet 4D unter der Gruppe „Drucken“ drei Optionen an, die das Drucken von Datensätzen in Unterformularen steuern:
Sie können in einem Unterformular eigene Schaltflächen zum Steuern der Dateneingabe hinzufügen. Jeder Schaltflächentyp (invertierte, unsichtbare Schaltfläche, etc.) ist verwendbar. Sie können die Aktion dieser Schaltflächen über Programmierung (siehe Handbuch 4D Programmiersprache, Kapitel Eingabe) oder über Standardaktionen definieren. 4D bietet drei Standardaktionen zum Verwalten der Grundfunktionen für Unterdatensätze: Unterdatensatz öffnen, Unterdatensatz löschen und Unterdatensatz hinzufügen. Enthält das Formular mehrere Unterformular Instanzen, gilt die Aktion für das Unterformular mit Fokus. Weitere Informationen dazu finden Sie in den Abschnitten Schaltflächen und Standardaktionen. |
EIGENSCHAFTEN
Produkt: 4D SIEHE AUCH ARTIKELVERWENDUNG
4D Designmodus ( 4D v14 R2) Geerbt von : Unterformulare als Liste ( 4D v12.4) |