Neue LiveBinding

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu LiveBindings (Dialogfelder)


Das Dialogfeld Neue LiveBinding wird angezeigt, wenn Sie eine neue LiveBinding in Ihrer Anwendung mit dem Editor für Bindungslisten erstellen. Im Dialogfeld Neue LiveBinding werden Sie aufgefordert, eine Bindungsklasse für die neue LiveBinding auszuwählen.

Bindungsklassen

Folgende Bindungsklassen stehen im Dialogfeld Neue LiveBinding zur Verfügung:

  • Schnelle Bindungen
    • TLinkGridToDataSource verknüpft ein Datengitter mit einer Datenquelle.
    • TLinkListControlToField verknüpft eine Liste mit einem Feld in einer Datenquelle. Mit dieser Klasse kann eine Liste mit den Feldwerten aus einer Datenquelle gefüllt und über das Listensteuerelement in der Datenquelle navigiert werden. Wenn die Datenquelle bearbeitet wird, wird das Steuerelement automatisch aktualisiert.
    • TLinkControlToField verknüpft ein Steuerelement mit einem Feld in einer Datenquelle. Wenn das Steuerelement durch eine Benutzereingabe geändert wird, wird das Feld aktualisiert. Wenn das Feld geändert wird, wird das Steuerelement aktualisiert.
    • TLinkControlToProperty verknüpft ein Steuerelement mit einer Eigenschaft. Wenn das Steuerelement durch eine Benutzereingabe geändert wird, wird die Komponenteneigenschaft aktualisiert.
    • TLinkPropertyToField verknüpft eine Eigenschaft mit einem Feld in einer Datenquelle. Wenn das Feld bearbeitet oder in der Datenquelle geblättert wird, wird die Komponenteneigenschaft aktualisiert.
    • TLinkFillControlToField entspricht TLinkControlToField, wenn diese Klasse aber mit einem Listensteuerelement verwendet wird, kann die Liste mit Werten aus einer anderen Datenquelle gefüllt werden.
    • TLinkFillControlToProperty entspricht TLinkControlToProperty, wenn diese Klasse aber mit einem Listensteuerelement verwendet wird, kann die Liste mit Werten aus einer Datenquelle gefüllt werden.
  • Bindungsausdrücke
    • TBindExpression erstellt einen neuen Bindungsausdruck.
    • TBindExprItems wird für die Synchronisierung von verschiedenen Steuerelementen verwendet.
  • Verknüpfungen
    • TBindLink dient der Unterstützung der wechselseitigen Bearbeitung eines Steuerelements und eines Feldes in einer Datenquelle und führt Bindungsausdrücke aus, wenn sich der Wert eines Steuerelements ändert und wenn sich der Wert des Feldes ändert.
    • TBindListLink ermöglicht das Anzeigen von Werten aus einer Datenquelle in einem Listensteuerelement, das Navigieren in der Datenquelle und die Aktualisierung, wenn die Datenquelle bearbeitet wird.
    • TBindGridLink ermöglicht das Anzeigen von Werten aus einer Datenquelle in einem Gittersteuerelement, das Navigieren in der Datenquelle und die Aktualisierung, wenn die Datenquelle bearbeitet wird. Wird auch zum Aktualisieren der Datenquelle verwendet, wenn eine Zelle in dem Gitter bearbeitet wird.
    • TBindPosition ermöglicht einem Positionssteuerelement, wie z.B. einer Bildlaufleiste, durch die Datenmenge zu scrollen.
    • TBindControlValue führt Bindungsausdrücke aus, wenn sich der Wert eines Steuerelements ändert.
  • Listen
    • TBindList wird zum Füllen eines Listensteuerelements mit Daten einer Datenquelle verwendet.
    • TBindGridList entspricht TBindList, arbeitet aber mit Datengittern. Mit dieser Klasse wird ein Datengitter mit Daten aus einer Datenquelle gefüllt.
  • DB-Verknüpfungen (veraltet)
    • TBindDBEditLink wird zum Verknüpfen eines Eingabefeldes mit einem bearbeitbaren Textfeld in einer Datenquelle verwendet.
    • TBindDBTextLink wird zum Verknüpfen einer Beschriftung mit einem Textfeld in einer Datenquelle verwendet.
    • TBindDBListLink wird zum Verknüpfen einer Liste mit einem Textfeld in einer Datenquelle verwendet.
    • TBindDBImageLink wird zum Verknüpfen eines Bildsteuerelements mit einem grafischen Feld in einer Datenquelle verwendet.
    • TBindDBMemoLink wird zum Verknüpfen eines Memo-Steuerelements mit einem mehrzeiligen Textfeld in einer Datenquelle verwendet.
    • TBindDBCheckLink wird zum Verknüpfen eines Kontrollkästchens mit einem booleschen Feld in einer Datenquelle verwendet.
    • TBindDBGridLink wird zum Verknüpfen eines Gittersteuerelements mit einer Datenquelle verwendet.

LBNewLiveBinding.png

Klicken Sie zur Bestätigung Ihrer Auswahl auf OK.

Nun sollte Ihre neue LiveBinding im Objektinspektor und in der Bindungsliste auf Ihrem Formular angezeigt werden.

Übersicht über Komponenten für die schnelle Bindung

In diesem Abschnitt werden einige Aspekte der Komponenten für die schnelle Bindung überblickartig erläutert. Der Unterschied zwischen den Komponenten für die schnelle Bindung und den anderen Bindungskomponenten, wie TBindLink, TBindList usw., besteht darin, dass die Komponenten für die schnelle Bindung automatisch Ausdrücke erzeugen, während für die anderen Komponenten eine manuelle Bearbeitung von Ausdrücken erforderlich ist. Daher können Sie im Ausdruckseditor für Komponenten für die schnelle Bindung die erzeugten Ausdrücke anzeigen, aber nicht bearbeiten.

Delegaten

Jede der Komponenten für die schnelle Bindung delegiert an eine andere LiveBindings-Komponente. Der Delegat ist für die Ausführung von Ausdrücken und für die Überwachung der Benutzereingabe zuständig. Die Komponenten für die schnelle Bindung sind für die Erzeugung der korrekten Ausdrucks-Strings in der Delegatenkomponente verantwortlich.

Folgende Delegaten stehen zur Verfügung:

Bindungsquellen-Komponenten

Bindungsquellen-Komponenten, wie TBindSourceDB, werden beim Binden an Felder verwendet. Beispielsweise besitzen TLinkPropertyToField, TLinkListControlToField und TLinkControlToField eine Referenz zu einer Gültigkeitsbereich-Komponente. Diese Klassen verfügen auch über eine Feldnamen-Eigenschaft, die aus einer Felderliste ausgewählt wird, die von der Gültigkeitsbereich-Komponente bereitgestellt wird.

In der folgenden Abbildung verweist beispielsweise eine TLinkPropertyToField-Komponente auf TBindSourceDB (BindScopeDB1) und ein Feld namens Species Name.

LBPropertyToField.png

TBindScope kann nicht mit Komponenten für die schnelle Bindung verwendet werden, aber die folgenden Komponenten:

Die Datenquelle muss von TBaseLinkingBindSource abgeleitet sein.

Ausdruckserzeugung

Damit Komponenten für die schnelle Bindung korrekte Ausdrücke erzeugen, müssen sie Informationen über die Member der zu bindenden Komponenten sammeln. Wenn über diese Komponenten beispielsweise eine Bindung an ein Steuerelement erfolgt, muss die Eigenschaft des Steuerelements bekannt sein, die geändert wird, wenn das Steuerelement durch eine Benutzereingabe modifiziert wird. Beim Binden an ein Feld muss der Name der Feldeigenschaft oder der Methode bekannt sein, mit der auf den Wert des Feldes zugegriffen wird.

Die Gültigkeitsbereich-Komponenten stellen das Interface zum Abrufen des Member-Namens eines Feldes bereit.

Ausdruckseditor

Mit dem Ausdruckseditor können Ausdrücke angezeigt werden. Die Ausdrücke sind aber alle schreibgeschützt. Die Komponente muss aktiv sein, damit Ausdrücke erzeugt und angezeigt werden können.

LBPropertyToFieldExpEdt.png

Siehe auch