Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Combobox den ausgewählten satz anzeigen (https://www.delphipraxis.net/43510-combobox-den-ausgewaehlten-satz-anzeigen.html)

superstar025 5. Apr 2005 08:40

Datenbank: ISeries • Zugriff über: ODBC

Combobox den ausgewählten satz anzeigen
 
Hallo
ich habe folgendes Problem und weiss nicht wie ich es lösen kann.
ich habe eine liste in einer Combobox und nachdem ich ein doppelklick auf ein grid gemacht habe soll der dazugehörige begriff aus der combobox angezeigt werden.


mfg
matthias

Stefan Dieler 5. Apr 2005 09:23

Re: Combobox den ausgewählten satz anzeigen
 
Hallo,

nimm dir den Wert, der in der Combobox angezeigt werden soll, aus dem Grid z.B. beim Ereignis onClick und führe dabei folg. Code aus:

Delphi-Quellcode:
ComboBox.ItemIndex := ComboBox.Items.IndexOf(StringAusDeinemGrid);

superstar025 5. Apr 2005 12:50

Re: Combobox den ausgewählten satz anzeigen
 
Delphi-Quellcode:
 {öffnen query9 -> Installationsort für die Anzeige in der Combobox8}
query9.ParamByName('Mietschein').AsString := ComboBox1.Text;
query9.ParamByName('Seriennummer').AsString := ComboBox8.Text;
  query9.Close;
  query9.Open;
   combobox9.Items.Add(Query9.Fields[0].asstring);
 combobox9.ItemIndex:=0;
Im Moment mach ich das mit diesem Befehl jedoch fügt er das ergebnis von query9 immer hinten in der combobox ein und nimmt nicht den an stelle eins den er aus dem query bekommt

mfg
matthias

Stefan Dieler 6. Apr 2005 05:58

Re: Combobox den ausgewählten satz anzeigen
 
Hallo,

ich weiß nicht, ob ich dich richtig verstanden habe.

Aber mit
Delphi-Quellcode:
  combobox9.Items.Add(Query9.Fields[0].asstring);
fügst du einen neuen Eintrag in die Combobox ein.

Prüfe nach dem Öffnen des Querys mit IndexOf > -1, ob der Wert schon in der Comboxbox steht. Wenn dies der Fall ist, dann machst du das:
Delphi-Quellcode:
  combobox9.ItemIndex := comboBox.Items.IndexOf(Query9.Fields[0].asstring);
ansonsten deinen Code mit
Delphi-Quellcode:
  combobox9.Items.Add(Query9.Fields[0].asstring);
combobox9.ItemIndex := comboBox.Items.IndexOf(Query9.Fields[0].asstring);
In Items.Add fügt immer einen neuen Eintrag hinzu, egal, ob der Wert schon in der ComboBox steht oder nicht.

superstar025 6. Apr 2005 07:21

Re: Combobox den ausgewählten satz anzeigen
 
Danke für die Hilfe soweit klappt es ja das er den dazugehörigen Wert anzeigt.
Jedoch fügt er immer den Wert hinzu obwohl er schon in der Liste steht.
Kann man das nicht irgendwie kontrollieren und falls der wert in der liste ist auch nehmen ohne das
er den gleichen aktuellen wert in die liste schreibt?

Zitat:

Prüfe nach dem Öffnen des Querys mit IndexOf > -1, ob der Wert schon in der Comboxbox steht. Wenn dies der Fall ist, dann machst du das:
Den Befehl IndexOf ist mir nicht bekannt und die Hilfe hilt mir auch nicht weiter.
Wie muss ich den Befehl denn umsetzen??

mfg
Matthias

:wall:

Stefan Dieler 6. Apr 2005 07:40

Re: Combobox den ausgewählten satz anzeigen
 
Hallo,

Zitat:

Jedoch fügt er immer den Wert hinzu obwohl er schon in der Liste steht.
Kann man das nicht irgendwie kontrollieren und falls der wert in der liste ist auch nehmen ohne das
er den gleichen aktuellen wert in die liste schreibt?
Dazu habe ich dir doch geschrieben, dass du mit IndexOf prüfen sollst.

Hier der Code:
Delphi-Quellcode:
 if comboBox.Items.IndexOf(Query9.Fields[0].asstring) > -1 then
   { Wert ist in der Combobox vorhanden }
 else
   { Wert ist nicht in der Combobox vorhanden }

superstar025 6. Apr 2005 09:29

Re: Combobox den ausgewählten satz anzeigen
 
:lol:

Danke für die schnelle Hilfe.
Es ist immer wieder verlass auf euch.
Danke.



:cheers:


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