Servus,
wie kann ich eine DBListBox dazu bringen Daten anzuzeigen? DataSource und DataField der DBListbox sind gesetzt. Ein DBGrid zeigt die Daten an, die DBListBox bleibt leer.
Ich habe mal ein Minimalbeispiel mit einem BufDataset erstellt und angehangen.
[gelöst] DBListBox Daten anzeigen
[gelöst] DBListBox Daten anzeigen
- Dateianhänge
-
DBListBoxTest.zip
- (2.02 KiB) 123-mal heruntergeladen
Zuletzt geändert von Michl am Mi 29. Nov 2017, 07:58, insgesamt 1-mal geändert.
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;
Re: DBListBox Daten anzeigen
Ich glaube, dass DBListbox nicht so gedacht ist wie DBGrid, also die Werte eines Feldes anzuzeigen, sondern als Eingabecontrol eher wie TDBCombobox, das erlaubt, einen Eintrag aus einer Liste auszuwählen. Die Listbox enthält in Items die Strings, die für ein Feld in Frage kommen, und wenn man dann durch den Dataset scrollt, springt die Auswahl bei jedem Datensatz zu den entsprechenden Listboxeintrag.
Ich habe dein Programm überarbeitet und in DBListBox.Items die Möglichkeiten "1. Klasse" und "2. Klasse" eingetragen. Gehe zum 1.Record, wähle im Navigator "Edit", klicke in der Listbox einen der beiden Einträge, Speichern. Wenn du nun durch die Tabelle scrollst, wird im DBGrid beim 1.Record der entsprechende Eintrag angeziegt und in der Listbox angewählt.
Ich habe dein Programm überarbeitet und in DBListBox.Items die Möglichkeiten "1. Klasse" und "2. Klasse" eingetragen. Gehe zum 1.Record, wähle im Navigator "Edit", klicke in der Listbox einen der beiden Einträge, Speichern. Wenn du nun durch die Tabelle scrollst, wird im DBGrid beim 1.Record der entsprechende Eintrag angeziegt und in der Listbox angewählt.
- Dateianhänge
-
dblistbox-wp.zip
- (2.23 KiB) 154-mal heruntergeladen
Re: DBListBox Daten anzeigen
Wahrscheinlich kann dir eher TDBLookupListBox die Funktionalität bieten, die du suchst.
knight
knight
Re: [gelöst] DBListBox Daten anzeigen
Ah, so herum. Jetzt verstehe ich es. Danke für die Erklärung und Beispiel! (Komisch, daß bei Wahl eines Eintrages in der DBListBox nicht gleich das Field im Grid entsprechend angezeigt wird.)wp_xyz hat geschrieben:Ich glaube, dass DBListbox nicht so gedacht ist wie DBGrid, also die Werte eines Feldes anzuzeigen, sondern als Eingabecontrol eher wie TDBCombobox, das erlaubt, einen Eintrag aus einer Liste auszuwählen. Die Listbox enthält in Items die Strings, die für ein Feld in Frage kommen, und wenn man dann durch den Dataset scrollt, springt die Auswahl bei jedem Datensatz zu den entsprechenden Listboxeintrag.
Ja, genau.knight hat geschrieben:Wahrscheinlich kann dir eher TDBLookupListBox die Funktionalität bieten, die du suchst.
In der DBLookupListBox muss man die zu füllende DataSource und das DataField eintragen.
Ebenfalls eintragen muss man, woher die Daten bezogen werden: ListSource, ListField und KeyField (eindeutige ID).
Ist logisch und nachvollziehbar. Danke für die Hinweise. Habe es eben getestet, das Beispiel modifiziert und angehangen (falls nochmal jemand ein ähnlichen Denkfehler hat).
- Dateianhänge
-
DBLookupListView.zip
- (2.28 KiB) 164-mal heruntergeladen
Code: Alles auswählen
type
TLiveSelection = (lsMoney, lsChilds, lsTime);
TLive = Array[0..1] of TLiveSelection;