AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

DbComboBox Wert anders als Auswahlliste

Ein Thema von etom291272 · begonnen am 26. Aug 2005 · letzter Beitrag vom 2. Sep 2005
Antwort Antwort
etom291272

Registriert seit: 16. Feb 2004
Ort: ---
232 Beiträge
 
#1

DbComboBox Wert anders als Auswahlliste

  Alt 26. Aug 2005, 17:27
Hallo und schönes Wochenende

Lässt sich folgendes Problem mit der in Delphi 7 Standardmässigen Klasse TDBComboBox lösen
Folgendes Verhalten Möchte ich erreichen:

Die Combobox wird an ein Db Feld gebunden und reagiert genau wie ein TDBedit (kein Problem)

Die Drop down Liste enthält nur die Beschreibungen der zu auswählenden Datensätze
aber nicht die Id, die nachher in die DbCombo übernommen wird zb.( Benutzer legt
Adresse an und steht auf dem Feld Plz in der Liste erscheinen nur die Namen der Orte
wählt der Benutzer einen Eintrag aus wird nur die Postleitzahl übernommen [das Beispiel
diehnt nur zur Veranschaulichung]))

Bin gespannt auf Lösungsvorschläge

  Mit Zitat antworten Zitat
shmia

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

Re: DbComboBox Wert anders als Auswahlliste

  Alt 26. Aug 2005, 18:32
Die standardmässige TDBCombobox ist dazu zu schwach ausgestattet.
TRxDBcomboBox hat für diesen Zweck die Properties Items[] und Values[].

Du könntest die Items[] mit deinen Beschreibungen befüllen und im OnChange-Event:
Delphi-Quellcode:
procedure .... OnChange(Sender:TObject);
var
   s : string;
begin
   s := DBcombobox1.Text;
   DBcombobox1.Text := FindePLZzumOrt(s);
end;
Andreas
  Mit Zitat antworten Zitat
etom291272

Registriert seit: 16. Feb 2004
Ort: ---
232 Beiträge
 
#3

Re: DbComboBox Wert anders als Auswahlliste

  Alt 26. Aug 2005, 18:37

Danke für die Schnelle Antwort ich hatte schon so was befürchtet da ich mich einige Zeit
erfolglos gespielt habe

Da ich das ganze auch mit Spalten realisieren will bastle ich gerade an eine dynamische Listview zur Laufzeit die dann den Job erledigen soll.

  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#4

Re: DbComboBox Wert anders als Auswahlliste

  Alt 26. Aug 2005, 19:01
Seltsam finde ich, dass du nach der DBComboBox fragst, aber die Funktionalität einer DBLookupComboBox beschreibst...

Grüße vom marabu
  Mit Zitat antworten Zitat
etom291272

Registriert seit: 16. Feb 2004
Ort: ---
232 Beiträge
 
#5

Re: DbComboBox Wert anders als Auswahlliste

  Alt 26. Aug 2005, 19:08
@marabu

Zitat:
Seltsam finde ich, dass du nach der DBComboBox fragst, aber die Funktionalität einer DBLookupComboBox beschreibst...
Die DbLookUpcombobox wurde in meinem Beispiel den Ort anzeigen und ich hätte keine Möglichkeit durch schnelles eingeben der id den ort zuzuordnen.
Ich brauche diese Funktion bei einer Anwendung im Industriebereich der Benutzer, (absoluter Feind jeder Maus ) ordnet ein bestimmtes Unterrecord nur durch eingabe einer einzigen Zahl zu und gibt sehr viele Sätze ein Wenn er jedesMal zur Maus greifen muss oder mit den Keyboard aus sagen wir 20 Einträgen auswählen muss hätte ich ein Problem

  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#6

Re: DbComboBox Wert anders als Auswahlliste

  Alt 26. Aug 2005, 19:13
Das kann ich nachvollziehen. Allerdings verwende ich in solchen Fällen nicht die mitgelieferten datensensitiven Controls (die ich generell selten verwende), sondern die normalen Gegenstücke, die ich dann an meine Bedürfnisse anpasse.

Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat
etom291272

Registriert seit: 16. Feb 2004
Ort: ---
232 Beiträge
 
#7

Re: DbComboBox Wert anders als Auswahlliste

  Alt 26. Aug 2005, 19:54

so für alle die es interessiert bzw denen es vielleicht helfen könnte habe ich eine imho elegente Lösung für mein Problem gefunden eine dynamisch erstellte TListView wenn der Benutzer auf den Such Button klickt bzw wenn er im DbEdit eine bestimmte Taste drückt

Siehe Anhang

Sollte jemanden der Code interessieren bitte kurzes Posting

Miniaturansicht angehängter Grafiken
l_sung_eigene_combobox_mit_spalten_295.jpg  
  Mit Zitat antworten Zitat
etom291272

Registriert seit: 16. Feb 2004
Ort: ---
232 Beiträge
 
#8

Re: DbComboBox Wert anders als Auswahlliste

  Alt 2. Sep 2005, 17:42


Bin gerade durch Zufall daraufgekommen wie es wirklich geht eine datenbank gebundene Combobox mit mehreren spalten zu realisieren wo es egal ist welche spalte dann wirklich in das Hauptdataset der DB zurückgespeichert wird als Id sozusagen.

da ich diese informationen nirgends in der DP gefunden habe obwohl ich wirklich lange gesucht hab
möchte ich meine erkenntnisse gerne hier zur verfügung stellen

Folgende eigenschaften bei der Combobox setzen:

Delphi-Quellcode:
with DBLookupComboBox1 do
 begin
   DataSource := DataSource1; // -> AdoTable1 -> DBGrid1
   ListSource := DataSource2;
   DataField := 'AuthorEmail'; // from AdoTable1
   KeyField := 'Email';
   ListFields := 'Name; Email'; // Wenn man mehrere Spalten möchte einfach in den Listfields mit
                                 // Strichpunkt die dbFelder trennen (so einfach kanns gehen)
   
   
 end;

 DataSource2.DataSet := AdoQuery1;

 AdoQuery1.Connection := AdoConnection1;
 AdoQuery1.SQL.Text := 'SELECT Name, Email FROM Authors';
 AdoQuery1.Open;
Anschliessend noch mit der Eigenschaft Listfieldindex die spalte einstellen nach der man durch drüberschreiben auswählen will bzw die im editbereich der combobox angezeigt werden soll.

  Mit Zitat antworten Zitat
Antwort Antwort


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 00:04 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