![]() |
Versteckte Informationen in ListBox
Moin Moin,
ich habe folgendes Problem. Und zwar habe ich ein Liste mit Datensätzen. Jeder Datensatz hat eine ID zur eindeutigen Erkennung, welche der User aber nicht sehen soll. Nun möchte ich die Datensätze in einer Listbox ausgeben. Damit ich aber am wieder weiss, welcher Datensatz ausgewählt wurde, muss irgendwo die ID in der Listbox mit untergebracht werden. Wie mache ich das? |
Re: Versteckte Informationen in ListBox
Ich glaube, da konnte man ein Objekt zu jedem Eintrag mitspeichern, aus dem kannst du dann deine Infos lesen ...
Guck einfach mal in die OH ... :zwinker: Oder hier: ![]() |
Re: Versteckte Informationen in ListBox
Zitat:
falls diese IDs einfache integer sind (was ich vermute), kannst du sie in das Objects[] property von TListBox.Items eintagen:
Delphi-Quellcode:
Auslesen dann mit:
aID := HoleIDausderListe;
myListBox.Items.AddObject('Ein Eintrag mit ID', TObject(aID));
Delphi-Quellcode:
Da in Delphi ein Object eigentlich ein Pointer auf das Object ist und dieser genauso gross wie ein integer ist, kann man mittels Typecast einfach integer-Werte im Objects[] Property unterbringen.
aID := integer(myListBox.Items.Objects[myListBox.ItemIndex]);
Als Alternative (wenn Objects[] schon anders genutzt wird) könntest du die Werte so in die Listbox eintragen:
Delphi-Quellcode:
Damit der Benutzer die ID hinterher nicht sieht, setze die Listbox in dem OwnerDraw-Modus und zeichne die Einträge selbst, wobei du den Teil vor dem "=" weglässt wenn der Eintragstext mit "TextOut" ausgegeben wird.
myListBox.Items.Add('Ein Eintag mit ID=' + IntToStr(aID));
Hoffe das hilft ein wenig :) Ciao, Ralf |
Re: Versteckte Informationen in ListBox
danke :-)
das wars was ich gesucht habe :-) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:06 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-2025 by Thomas Breitkreuz