Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi DBComboBox während der Laufzeit befüllen (https://www.delphipraxis.net/193827-dbcombobox-waehrend-der-laufzeit-befuellen.html)

Luca Haas 13. Sep 2017 15:04

DBComboBox während der Laufzeit befüllen
 
Hey Leute,

kann mir jemand erklären wie ich, eine DBComboBox, während der Laufzeit befüllen kann ?
Ich habe eine Art kleinen Fragebogen und wenn jemand antwortet soll er gegebenenfalls eine andere Antwort, als die schon hinzugefügten Ja und Nein, verwenden können.
Die Antworten Ja und Nein habe ich jeweils mit
Delphi-Quellcode:
DBComboBox1.Items.Add('Ja');
DBComboBox1.Items.Add('Nein');
zur DBComboBox hinzugefügt

nahpets 13. Sep 2017 15:17

AW: DBComboBox während der Laufzeit befüllen
 
Mit
Delphi-Quellcode:
DBComboBox1.Items.Add('Die andere Antwort');
?

Add fügt halt jedesmal was hinzu, ggfls. musst Du vorher prüfen, ob das gewünschte schon enthalten ist oder (bei einem Fragebogen wohl sinnvoller)
Delphi-Quellcode:
DBComboBox1.Items.Clear;
DBComboBox1.Items.Add('1. Antwort');
DBComboBox1.Items.Add('2. Antwort');
DBComboBox1.Items.Add('...');

Luca Haas 13. Sep 2017 15:20

AW: DBComboBox während der Laufzeit befüllen
 
Verstanden, wie man die DBComboBox befüllt habe ich, allerdings geht es mir darum neue Antwortmöglichkeiten einzugeben, während das Programm läuft. Also quasi ein leeres Feld in der DBComboBox welches ich beschreiben kann und welches dann ein neues leeres Feld erzeugt.
Ich hoffe ich habe mich verständlich genug ausgedrückt :gruebel: , dass mir jemand weiterhelfen kann.

nahpets 13. Sep 2017 15:31

AW: DBComboBox während der Laufzeit befüllen
 
Nein, Du hast Dich nicht verständlich ausgedrückt, eventuell meinst Du sowas in der Art:
Delphi-Quellcode:
DBComboBox1.Add(Edit1.Text);

Uwe Raabe 13. Sep 2017 15:37

AW: DBComboBox während der Laufzeit befüllen
 
Du kannst ja freien Text in der DBCombobox eingeben, wenn der Style auf csDropDown steht. Beim Post wird dann der eingegebene Wert in der Datenbank gespeichert. Im AfterPost-Event kannst du nun den gespeicherten Wert auslesen, schauen ob er bereits in den Items der DBComboBox vorkommt und ihn gegebenfalls eintragen.

nahpets 13. Sep 2017 15:43

AW: DBComboBox während der Laufzeit befüllen
 
Ok, da hätt' ich dann nochwas:
Delphi-Quellcode:
if DBComboBox1.Items.IndexOf(DBComboBox1.Text) < 0 then begin
  DBComboBox1.Items.Add(DBComboBox1.Text);
end;
Damit müsste dann der in der DBComboBox eingegebene Text in Zukunft (für die Laufzeit des Programmes) mit zu den Auswahlmöglichkeiten gehören.

Wenn es dauerhaft sein soll, dann mal nach TDBLookupCombo schauen. Das ist eine ComboBox, die ihren auswählbaren Inhalt aus einer anderen Datenbanktabelle bezieht und dann den ausgewählten Inhalt in das zugeordnete Datenbankfeld übernimmt. Es ist also eine Nachschlagtabelle.

Luca Haas 13. Sep 2017 15:45

AW: DBComboBox während der Laufzeit befüllen
 
Zitat:

Zitat von nahpets (Beitrag 1381038)
Nein, Du hast Dich nicht verständlich ausgedrückt, eventuell meinst Du sowas in der Art:
Delphi-Quellcode:
DBComboBox1.Add(Edit1.Text);

Ich meine halt, dass die Werte "Ja, Nein" bereits im Quellcode gegeben sind und man als Anwender neue Werte hinzufügen kann, dass man beispielsweise mit "Vielleicht" antworten kann.
Dafür muss sozusagen ein neuer Wert zur Combobox hinzugefügt werden.

Luca Haas 13. Sep 2017 15:47

AW: DBComboBox während der Laufzeit befüllen
 
@nahpets

Genau so habe ich das gemeint,es klappt jetzt super, danke schön


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:15 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