![]() |
versteckte Felder in ComboBox ?
Hallo zusammen,
ich habe folgendes Problem: Und zwar habe ich mir zwei doppeltverkettete Listen erstellt. HIer ein vereinfachtetes Beispiel anhand der Typendeklaration.
Delphi-Quellcode:
Ich möchte nun die Daten für TPerson über Editfelder eingeben. Nur Automarke soll über eine ComboBox ausgewählt werden können. Dazu wird beim Starten des Form die Liste mit TAutomarke in die ComboBox eingelesen, so dass die Markennamen aller in der Liste vorhandenen Marken in der CB erscheinen.
type
TID = 1..2000; //Typ fuer IDs PPerson = ^TPerson; TPerson = record Name:String; Nachname:String; Automarke: TID; //speichert die passende ID aus der Liste Automarken end; PAutomarke = TAutomarke; TAutomarke = record ID:TID; Marke: String; end; Jetzt besteht aber folgendes Problem: In der Liste mit TPerson möchte ich natürlich nicht den Markennamen speichern, sondern die eindeutige ID. DOch durch die CB wurde ja nur der Markenname ausgewählt. Wie komme ich jetzt wieder an die ID? ALso meine Idee, gibt es eine Möglichkeit in der ComboBox die ID versteckt mitzuspeichern? Oder gibt es sogar noch eine elegantere Lösungen? Für einen Tip wäre ich sehr dankbar. |
Re: versteckte Felder in ComboBox ?
Moin Mickmack,
Zitat:
Die Items kann man mit AddObject hinzufügen, wobei Du dann einfach die ID mittels
Delphi-Quellcode:
mit angeben kannst.
ComboBox1.Items.AddObject('Text in der Combobox',TObject(ID));
Ein Tip noch: Bei RichEdit.Lines und Memo.Lines klappt das nicht. Hier wird das Objekt ignoriert. |
Re: versteckte Felder in ComboBox ?
Hallo Chris,
ich denke, dass ist genau das was ich brauche. Aber wie wandel ich denn wieder zurück? Bisher habe ich folgendes auf die Beine gestellt:
Delphi-Quellcode:
Bin ich auf der richtigen Spur?
recPerson.Automarke := ??? FrmMain.CBMarke.Items.Objects[FrmMain.CBMarke.ItemIndex] ???;
Ich vermute es fehlt noch eine Typisierung. :?: Aber auf jedenfall schon mal Danke für die letzte Antwort :-D |
Re: versteckte Felder in ComboBox ?
Moin Mickmack,
mal als Beispiel um das wieder in einen Integer zu verwandeln:
Code:
[color=red]integer([/color]FrmMain.CBMarke.Items.Objects[FrmMain.CBMarke.ItemIndex][color=red])[/color];
|
Re: versteckte Felder in ComboBox ?
jo danke,
im Moment als die Mail kam, hab ichs auch gerade rausgefunden :-D |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:27 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