Daten in Lookup-Listen und Kombinationsfeldern anzeigen und bearbeiten

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Einen einzelnen Datensatz anzeigen


Lookup-Listenfelder und Lookup-Kombinationsfelder (Vcl.DBCtrls.TDBLookupListBox und Vcl.DBCtrls.TDBLookupComboBox) zeigen eine beschränkte Liste mit zulässigen Feldwerten an, die der Benutzer dem aktuellen Feld zuweisen kann. Wählt der Benutzer einen Eintrag aus, dann wird das Feld in der zugrunde liegenden Datenmenge entsprechend geändert.

Angenommen, es existiert ein Bestellformular, dessen Felder mit der Datenbanktabelle OrdersTable verknüpft sind. OrdersTable enthält ein Feld namens CustNo, das einer Kundennummer entspricht. Weitere Kundeninformationen sind in OrdersTable nicht enthalten. Die Tabelle CustomersTable hingegen enthält das Feld CustNo für die Kundennummer sowie weitere Informationen (z.B. die Firma und die Adresse des Kunden). Es wäre von Vorteil, wenn der Sachbearbeiter bei der Erstellung einer Rechnung die Möglichkeit hätte, im Bestellformular einen Kunden nach der Firma und nicht nach der Kundennummer auszuwählen. Mithilfe einer TDBLookupListBox-Komponente, die alle in CustomersTable enthaltenen Firmennamen anzeigt, könnte der Benutzer den gewünschten Firmennamen aus der Liste auswählen und CustNo im Bestellformular die entsprechende Kundennummer zuweisen.

Diese Lookup-Steuerelemente beziehen die Liste der anzuzeigenden Elemente aus einer der beiden folgenden Quellen:

Ein für eine Datenmenge definiertes Lookup-Feld. Die Einträge eines Listenfeldes können nur dann mithilfe eines Lookup-Feldes definiert werden, wenn in der Datenmenge, mit der Sie das Steuerelement verknüpfen, bereits ein Lookup-Feld definiert ist.

So legen Sie das Lookup-Feld für die Einträge des Listenfeldes fest:

  1. Weisen Sie der Eigenschaft DataSource des Listenfeldes die Datenquelle für die Datenmenge zu, die das gewünschte Lookup-Feld enthält.
  2. Wählen Sie das gewünschte Lookup-Feld aus der Dropdown-Liste der Eigenschaft DataField.
  3. Wenn Sie eine Tabelle aktivieren, die mit einem Lookup-Listenfeld oder einem Lookup-Kombinationsfeld verbunden ist, erkennt das Steuerelement, dass es sich bei seinem Datenfeld um ein Lookup-Feld handelt, und zeigt die entsprechenden Werte aus dem Suchvorgang an.

Eine sekundäre Datenquelle, ein Datenfeld und ein Schlüssel. Wenn kein Lookup-Feld für eine Datenmenge definiert ist, können Sie eine ähnliche Beziehung herstellen. Dazu benötigen Sie eine sekundäre Datenquelle, einen Feldwert, der darin gesucht werden soll, und einen Feldwert, der als Listeneintrag zurückgegeben wird.

So legen Sie eine sekundäre Datenquelle für Listenfeldeinträge fest:

  1. Belegen Sie die Eigenschaft DataSource des Listenfeldes mit der Datenquelle für die Datenmenge, in der Werte nachgeschlagen werden sollen.
  2. Wählen Sie ein Feld aus, in das die nachgeschlagenen Werte aus der Dropdown-Liste der Eigenschaft DataField eingefügt werden sollen. Das für diesen Zweck ausgewählte Feld darf kein Lookup-Feld sein.
  3. Belegen Sie die Eigenschaft ListSource des Listenfeldes mit der Datenquelle für die Datenmenge, die das Feld enthält, dessen Werte nachgeschlagen werden sollen.
  4. Wählen Sie aus der Dropdown-Liste der Eigenschaft KeyField ein Feld aus, das als Lookup-Schlüssel dienen soll. Die Dropdown-Liste enthält Felder der Datenmenge, die mit der in Schritt 3 angegebenen Datenquelle verbunden ist. Das ausgewählte Feld braucht nicht indiziert zu sein. Wenn das aber der Fall ist, erhöht sich die Suchgeschwindigkeit beträchtlich.
  5. Wählen Sie ein Feld aus der Dropdown-Liste der Eigenschaft ListField, dessen Werte zurückgeliefert werden sollen. Die Dropdown-Liste enthält Felder der Datenmenge, die mit der in Schritt 3 angegebenen Datenquelle verbunden ist.

Wenn Sie eine Tabelle aktivieren, die mit einem Lookup-Listenfeld oder Lookup-Kombinationsfeld verbunden ist, erkennt das Steuerelement, dass seine Dropdown-Listeneinträge von einer sekundären Datenquelle abgeleitet sind, und zeigt die entsprechenden Werte aus dieser Quelle an

Mit der Eigenschaft RowCount legen Sie die Anzahl der Listeneinträge fest, die jeweils gleichzeitig in der Liste eines TDBLookupListBox-Steuerelements angezeigt werden. Die Höhe des Listenfeldes wird automatisch entsprechend angepasst.

Mit der Eigenschaft DropDownRows legen Sie die Anzahl der Listeneinträge fest, die jeweils gleichzeitig in der Dropdown-Liste eines TDBLookupComboBox-Steuerelements angezeigt werden.

Hinweis:  Sie können eine Spalte in einer Datentabelle auch so konfigurieren, dass sie sich wie ein Lookup-Kombinationsfeld verhält. Wie Sie dazu vorgehen, wird unter Lookup-Spalte definieren beschrieben.

Siehe auch