Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Mehrere Spalten in DBCombobox anzeigen? (https://www.delphipraxis.net/5545-mehrere-spalten-dbcombobox-anzeigen.html)

KRONOX 10. Jun 2003 21:46


Mehrere Spalten in DBCombobox anzeigen?
 
Wie ist es Möglich in einer DBCombobox oder ähnlicher Komponente mehrere Spalten einer Tabelle anzuzeigen.

Beispiel:
Warengruppen-ID
Bez1
Bez2
Bez3


Mit Hilfe der Warengruppen-ID sollen dann die Datensätze aus der Artikel Tabelle gefiltert werden.

Thanks for Helping

MrSpock 11. Jun 2003 07:46

Hallo KRONOX,

eine DBComboBox dienst ja dazu den Wert eines Feldes aus einer Liste auswählen zu können. Wenn ich dich richtig verstanden habe, benötigst du aber ein Auswahlfend, das für die Filterung der Tabelle und nicht zur Auswahl eines Wertes für ein Feld eines bestimmten Datensatzes benutzt wird.

In diesem Fall würde ich eine nicht datensensitive ComboBox nehmen und diese mit den gewünschten Feldern füllen. Die Einträge dazu ermittelst du durch einen Durchlauf durch die Datenbank.

Im OnChange Event der ComboBox filterst du dann die Tabelle.

KRONOX 12. Jun 2003 11:00

Zitat:

Zitat von MrSpock
Hallo KRONOX,

eine DBComboBox dienst ja dazu den Wert eines Feldes aus einer Liste auswählen zu können. Wenn ich dich richtig verstanden habe, benötigst du aber ein Auswahlfend, das für die Filterung der Tabelle und nicht zur Auswahl eines Wertes für ein Feld eines bestimmten Datensatzes benutzt wird.

In diesem Fall würde ich eine nicht datensensitive ComboBox nehmen und diese mit den gewünschten Feldern füllen. Die Einträge dazu ermittelst du durch einen Durchlauf durch die Datenbank.

Im OnChange Event der ComboBox filterst du dann die Tabelle.

Da könntes du Recht haben nur wie bekomme ich mehrere Spalten einer Tabelle in eine ComboBox?

So soll es aussehen:

ComboBox
Warengruppen-ID Bez1 Bez2 Bez3

Hansa 12. Jun 2003 11:27

Hi,

das geht doch ganz einfach:
Code:
Nr;Bez1;Bez2
Habe allerdings auch lange gebraucht, das rauszufinden. Ob DB-Box oder nicht ist egal, glaube zumindest. Mit DBComboBox hab ichs jedenfalls so gemacht.

KRONOX 12. Jun 2003 13:40

Zitat:

Zitat von Hansa
Hi,

das geht doch ganz einfach:
Code:
Nr;Bez1;Bez2
Habe allerdings auch lange gebraucht, das rauszufinden. Ob DB-Box oder nicht ist egal, glaube zumindest. Mit DBComboBox hab ichs jedenfalls so gemacht.

Das muß ich doch in das DataField der DBComboBox schreiben oder?
Er sagt mir dann das das Feld Nr;Bez1;Bez2 nich gefunden werden kann.

MrSpock 12. Jun 2003 23:25

Hallo Kronox,
du kannst die Werte über die Add Methode der Eigenschaft items der Liste hinzufügen. Angenommen die Tabelle, deren Spalten du übernehmen willst, heißt myTable, und die Felder hättest du per Feldeditor hinzugefügt, dann sähe der Code etwa so aus:

Code:
{ die ComboCox heiße cbWahl }
cbWahl.clear;
myTable.First;
while not myTable.Eof do
begin
  cbWahl.items.add(myTableWarengruppen-ID.AsString +' '
                  +myTableBez1.AsString +' '
                  +myTableBez2.AsString +' '
                  +myTableBez3.AsString);
  myTable.Next;
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:58 Uhr.

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