Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi in DBLookupCombobox den aktiven Datensatz des Datasets anzeigen lassen (https://www.delphipraxis.net/210874-dblookupcombobox-den-aktiven-datensatz-des-datasets-anzeigen-lassen.html)

juergen 24. Jun 2022 11:43

Datenbank: MSSQL • Version: 2019 • Zugriff über: FireDAC

in DBLookupCombobox den aktiven Datensatz des Datasets anzeigen lassen
 
Hallo zusammen,
mit DBLookupCombobox habe ich noch keine Erfahrung. Ich habe in der DBLookupCombobox bei ListSource() mein DataSource hinterlegt und im KeyField habe ich das Field zugweisen. Die DBLookupCombobox zeigt auch alle Datensätze an.
Ich möchte nun, dass wenn ich die dahinterliegende Query neu positioniere (also einen anderen Datensatz in der Query aktiviere), dass die DBLookupCombobox den Datensatz aus der Query auch anzeigt. Ich hatte angenommen, dass geht automatisch.
Entweder mach ich grad was ganz falsch (aus Unwissenheit) oder muss man die DBLookupCombobox per Code auf den aktiven Datensatz des Query setzen? Wenn ja wie?

Vielen Dank schonmal vorab.

juergen 24. Jun 2022 11:55

AW: in DBLookupCombobox den aktiven Datensatz des Datasets anzeigen lassen
 
Hab's gefunden: KeyValue ist das Mittel der Wahl.
Zitat:

DBLookupComboBox_Article.KeyValue := DataModul_1.FD_Qry_Product.FieldByName(DBLookupCom boBox_Article.KeyField).AsVariant;

himitsu 24. Jun 2022 13:01

AW: in DBLookupCombobox den aktiven Datensatz des Datasets anzeigen lassen
 
Das ist ein DBLookup, kein Lookup (ohne DB).

Als DataSource das, was du tracken/anzeigen willst
und als LookupSource (damals), bzw. ListSource (jetzt), die Übersetzung (Key->Value) für die Anzeige. (damals war es somit etwas "verständlicher")

Ausrichten tut sich das Ding doch von selber, wenn in der DataSource rumgescrollt/editiert wird.



ReadOnly nicht vergessen, wenn nur angezeigt werden soll.

juergen 24. Jun 2022 13:18

AW: in DBLookupCombobox den aktiven Datensatz des Datasets anzeigen lassen
 
Zitat:

Zitat von himitsu (Beitrag 1507777)
Ausrichten tut sich das Ding doch von selber, wenn in der DataSource rumgescrollt/editiert wird.

Genau das hatte ich auch erwartet. War/ ist aber bei mir nicht der Fall. Ich iteriere per Code über die Query (mit Next), bis ich einen bestimmten Datensatz gefunden habe. Die DBLookupCombobox richtet sich dabei aber nicht autom. aus. Vllt. liegt es daran, weil ich per Code zu dem Datensatz gehe?
Ich muss das so lösen wie in meinem 2. Post aufgeführt.

himitsu 24. Jun 2022 13:53

AW: in DBLookupCombobox den aktiven Datensatz des Datasets anzeigen lassen
 
Zitat:

Zitat von juergen (Beitrag 1507768)
Ich habe in der DBLookupCombobox bei ListSource() mein DataSource hinterlegt und im KeyField habe ich das Field zugweisen.

Zitat:

Zitat von himitsu (Beitrag 1507777)
Als DataSource das, was du tracken/anzeigen willst
und als LookupSource (damals), bzw. ListSource (jetzt) die Übersetzung (Key->Value) für die Anzeige.

:stupid:

Uwe Raabe 24. Jun 2022 14:30

AW: in DBLookupCombobox den aktiven Datensatz des Datasets anzeigen lassen
 
Die Problematik liegt hier darin, dass du die DataSource und ListSource auf dasselbe DataSet setzen müsstest und dafür ist die TDBLookupComboBox nicht ausgelegt.


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