AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi DBLookupComboBox zeigt die selektierte Zeile nicht an

DBLookupComboBox zeigt die selektierte Zeile nicht an

Ein Thema von hsbc · begonnen am 14. Jul 2005 · letzter Beitrag vom 15. Jul 2005
Antwort Antwort
hsbc

Registriert seit: 28. Jan 2004
Ort: Krems/Donau
404 Beiträge
 
Delphi 7 Professional
 
#1

DBLookupComboBox zeigt die selektierte Zeile nicht an

  Alt 14. Jul 2005, 12:57
Ich arbeite mit Delphi 7 Prof unter Windows XP Home.

Ich habe eine DBLookupComboBox mit einer DataSource verbunden, was auch funktioniert.

Wenn ich in der DBLookupComboBox eine Zeile auswähle, wird diese zwar in DBLookupComboBox.KeyValue übergeben. Sobald die Auswahlliste dann aber zuklappt, ist die angezeigte Zeile der LookupComboBox (DBLookupComboBox.Text) leer. Eine anschliessende Abfrage mit ShowMessage(DBLookupComboBox.KeyValue) enthält aber den richtigen Wert.

Was mache ich hier falsch ?

Meine Einstellungen in der DBLookupComboBox:

ListSource = Datenquelle
KeyField = Nr ( erstes Datenfeld im Datensatz )
ListField = Nr;Name
ListFieldIndex = 0

mfg
Herbert
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: DBLookupComboBox zeigt die selektierte Zeile nicht an

  Alt 14. Jul 2005, 14:38
Zitat von hsbc:
Ich habe eine DBLookupComboBox mit einer DataSource verbunden, was auch funktioniert.
wenn ich in der DBLookupComboBox eine Zeile auswähle, wird diese zwar in DBLookupComboBox.KeyValue übergeben. Sobald die Auswahlliste dann aber zuklappt, ist die angezeigte Zeile der LookupComboBox (DBLookupComboBox.Text) leer. Eine anschliessende Abfrage mit ShowMessage(DBLookupComboBox.KeyValue) enthält aber den richtigen Wert.
Was mache ich hier falsch ?
Vermutung: DataSource (und damit das Dataset) ist nicht im Edit- oder Insert-Zustand (State in [dsEdit, dsInsert]).
Die DBLookupComboBox zeigt dann den Inhalt des Feldes aus der Datenmenge, die über DataSource angeklemmt wurde. Oder auch gar nix, wenn die Datenmenge inaktiv ist.
Andreas
  Mit Zitat antworten Zitat
hsbc

Registriert seit: 28. Jan 2004
Ort: Krems/Donau
404 Beiträge
 
Delphi 7 Professional
 
#3

Re: DBLookupComboBox zeigt die selektierte Zeile nicht an

  Alt 14. Jul 2005, 19:32
Zitat von shmia:
Vermutung: DataSource (und damit das Dataset) ist nicht im Edit- oder Insert-Zustand (State in [dsEdit, dsInsert]).
Das ist es leider nicht. Wie gesagt, die gesamte Auswahlliste der DBLookupComboBox wird ja ordnungsgemäss angezeigt. Nur, nachdem ich eine Zeile ausgewählt habe, steht - nachdem die Liste wieder zugeklappt ist - nichts in der ersten Zeile.

mfg
Herbert
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

Re: DBLookupComboBox zeigt die selektierte Zeile nicht an

  Alt 15. Jul 2005, 09:02
Zitat von hsbc:
Zitat von shmia:
Vermutung: DataSource (und damit das Dataset) ist nicht im Edit- oder Insert-Zustand (State in [dsEdit, dsInsert]).
Das ist es leider nicht. Wie gesagt, die gesamte Auswahlliste der DBLookupComboBox wird ja ordnungsgemäss angezeigt. Nur, nachdem ich eine Zeile ausgewählt habe, steht - nachdem die Liste wieder zugeklappt ist - nichts in der ersten Zeile.
Da hast du mich falsch verstanden.
DBLookupComboBox braucht zwei DataSourcen: eine LookupDatasource und die "normale" Datasource.
Wenn das Aufklappen funktioniert, dann ist die LookupDataSource funktionsfähig.
Zugeklappt zeigt die DBLookupComboBox aber die Daten aus der DataSource an.
Die DBLookupComboBox funktioniert leider nicht ohne dass die "normale" DataSource vorhanden, aktiv und beschreibbar (TDataSet.CanModify=True) ist.
Andere Komponenten aus der Rx-Lib oder JVCL sind da flexibler.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#5

Re: DBLookupComboBox zeigt die selektierte Zeile nicht an

  Alt 15. Jul 2005, 09:47
Zitat von shmia:
... Die DBLookupComboBox funktioniert leider nicht ohne dass die "normale" DataSource vorhanden, aktiv und beschreibbar (TDataSet.CanModify=True) ist. ...
Hai shmia,

bist Du dir da sicher? Ich habe schon des öfteren die DBLookUpComboBox ohne DataSource verwendet.
In diesem Fall zeigt die DBLCB den Text aus .ListField der .ListSource an und ich kann auf .KeyField zugreifen.

Umgedreht geht es natürlich nicht. Ich kann nicht eine DataSource angeben ohne eine ListSource zu verwenden.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.251 Beiträge
 
Delphi 2006 Professional
 
#6

Re: DBLookupComboBox zeigt die selektierte Zeile nicht an

  Alt 15. Jul 2005, 09:54
[quote="Sharky"]
Zitat von shmia:
... Die DBLookupComboBox funktioniert leider nicht ohne dass die "normale" DataSource vorhanden, aktiv und beschreibbar (TDataSet.CanModify=True) ist. ...
Hai shmia,

bist Du dir da sicher? Ich habe schon des öfteren die DBLookUpComboBox ohne DataSource verwendet.
In diesem Fall zeigt die DBLCB den Text aus .ListField der .ListSource an und ich kann auf .KeyField zugreifen.

Umgedreht geht es natürlich nicht. Ich kann nicht eine DataSource angeben ohne eine ListSource zu verwenden.

[Edit]Ups.... das geht docht nicht (mehr).. Ich war mir zu 100% sicher das ich das in Delphi 7 schon so gemacht habe?[/edit]
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
hsbc

Registriert seit: 28. Jan 2004
Ort: Krems/Donau
404 Beiträge
 
Delphi 7 Professional
 
#7

Re: DBLookupComboBox zeigt die selektierte Zeile nicht an

  Alt 15. Jul 2005, 10:02
Hallo allerseites,

ich verwende in der DBLookupComboBox nur die Felder:

ListSource
KeyField
ListField

Das KeyField hatte das Datenfeld NR
Das ListField hatte die Datenfelder NR und NAME (NR;NAME) zugewiesen

Nachdem ich jetzt die Zuweisung folgendermassen geändert habe:

KeyField NAME
ListField NAME;NR

funktioniert die DBLookupComboBox wieder so, wie sie soll. Sie zeigt halt im ListField zuerst den Namen und dann die Nr an.

Warum es so funktioniert, ist mir zwar unklar - aber es geht wenigstens.

mfg
Herbert
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:37 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