Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi TDBLookupComboBox leeren (https://www.delphipraxis.net/1179-tdblookupcombobox-leeren.html)

FBrust 28. Okt 2002 21:20


TDBLookupComboBox leeren
 
Hallo,

bei normalen Comboboxen gibt es ja die Eigenschaft 'Text', die den geraden anzeigten String beinhaltet. Diese Eigenschaft kann man mit
Code:
cbxbox.Text := '';
leeren.

Die Frage ist nun: Wie geht das bei einer TDBLookupComboBox, bei der die Eigenschaft Text Nur-Lesen-Eigenschaft hat (zumindest bekomme ich diese Fehlermeldung, wenn ich versuche mit
Code:
dbcbxbox.Text := '';
den angezeigten String zu leeren).

Weiss jemand Rat?


Grüsse
Frank

Alfons_G 28. Okt 2002 21:27

:hi:
Eine DBLookupCombobox kann man natürgmäß nicht auf diese Weise leeren, da sie bekanntlich mit einer Datenquelle verbunden ist. Du musst also die Verbindung zur Datenquelle lösen, bzw. diese schliessen, also z.B.
Code:
MeineLookupDataSource.Close;
Dann ist das DropDown-Feld nur noch eine Zeile hoch und leer.

Falls Du die volle Kontrolle über den Inhalt des Pulldowns benötigst, weil Du z.B. eigene Werte zusätzlich aufnehmen willst, musst Du eine normale DBCombobox verwenden und "zu Fuss" füllen.

:coder:

FBrust 28. Okt 2002 21:42

Hallo Alfons_G,

danke für Deine Antwort.

Der Hintergrund für diese Aktion ist, dass der Anwender eingegebene Daten in einem Formular auch verwerfen kann und dazu soll halt diese Box auch leer sein.

Das mit dem .Close funktioniert, aaaaaber:

bei
Code:
MeineLookupDatasource.Close;
MeineLookupDatasource.Open;
bleibt der Text-Eintrag in der Box stehen. Was nun? :?:

Grüsse
Frank

Alfons_G 29. Okt 2002 12:06

Ich bin jetzt gerade nicht an meinem Delphi-PC, aber lösche mal die Datasource der Combobox und setze sie neu.
Wenn Du die Möglichkeit benötigst, dass der User explizit Einträge verwerfen kann, dann wäre allerdings die manuell gefüllte Combobox sinnvoller.

:coder:


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:48 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz