Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi TDBLookupComboBox---Tabelle (https://www.delphipraxis.net/50180-tdblookupcombobox-tabelle.html)

Chester 21. Jul 2005 16:32

Datenbank: Oracle • Zugriff über: Oracle-Komponenten

TDBLookupComboBox---Tabelle
 
Ich habe zwei TDBLookupComboBox und ein TcxGrid. Jede der TDBLookupComboBox greift auf eine eigene Tabelle zu und im Grid werden die Werte angezeigt.
Wenn ich in der ersten TDBLookupComboBox einen Eintrag auswähle soll es mir in der anderen den dazugehörigen Wert anzeigen und gleich in die Datenbank übernehmen (im TcxGrid anzeigen).
In der TDBLookupComboBox wird über 'KeyValue' der Wert richtig gesetzt, aber nicht in der Tabelle... :coder2:

jensw_2000 21. Jul 2005 23:00

Re: TDBLookupComboBox---Tabelle
 
Grundlegent ist das imho nicht möglich.
Du kannst natürlich etwas tricksen, indem du die DataSource des DBGrids je nach aktiver DBLookupCombobox mit wechselst.


Delphi-Quellcode:
procedure tform1.dblookupcombobox1.onEnter(Sender:TObject);
begin
  DBGrid.DataSource:=dblookupcombobox1.datasource;
end;

procedure tform1.dblookupcombobox2.onEnter(Sender:TObject);
begin
  DBGrid.DataSource:=dblookupcombobox2.datasource;
end;

jensw_2000 21. Jul 2005 23:14

Re: TDBLookupComboBox---Tabelle
 
Sorry, falsch gelesen.
Du möchtest sie beiden LoopupCombos miteinander ableichen.

Das kannst du im DBLookupcombobox onChange machen
Kann es grade nicht testen, aber der Weg sollte stimmen ...

Delphi-Quellcode:
Procedure DBLookupComboBox1.OnChange(Sender:TObject);
begin
 
  if DBGrid.DataSource = DBLookupCombobox2.ListSource then DBGrid.Edit;
  DBLookupCombobox2.ListSource.Dataset.locate('ID',DBLookupCombobox1.DataSource.DataSet.Fieldvalues['ID2'],[])
   
end;


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