Salut,
Que doit-on mettre dans la partie AObject d'une commande additem d'un combobox (AddItem(Item: string, AObject: TObject)
Mon objectif est d'avoir une valeur différente de itemindex, mais qui me permet de retrouver la ligne sélectionnée.
Merci
Salut,
Que doit-on mettre dans la partie AObject d'une commande additem d'un combobox (AddItem(Item: string, AObject: TObject)
Mon objectif est d'avoir une valeur différente de itemindex, mais qui me permet de retrouver la ligne sélectionnée.
Merci
Le AddItem te permet d'associer à chaque ligne de ta combo un objet. Ne s'affiche que le string, mais lors de la sélection tu peux accéder à cet objet.
MD Software
---------------------------
F.A.Q. Delphi - Cours Delphi - Composants Delphi - Sources Delphi
En fait je ne sais pas quel format de donnée y inscrire.
Dans mon cas je récupère d'une base de données, un ID et un libelle. J'affiche le LIBELLE, mais je cherche à récupérer l'ID (sachant que l'ID est au format integer).
Existe-il un exemple d'urilisation de cette commande ?
Merci
Pour ce genre de problème, je me suis fait une ComboBox à 2 colonnes.
L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. :bug: ___ "http://club.developpez.com/regles/#LIII-A"Écrivez dans un français correct !!
C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.3 Entreprise - Visual studio 2022
OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.7)
En général,ce que je fais, c'est :
Avec ce code tu n'es pas obligé de définir un TObject
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Combobox1.Items.Add(paramètre1);
Effectivement, mais parametre1 correspond au libellé afficher dans la combobox (et non pas à l'ID qui doit être caché à l'utilisateur, et que je cherche à retrouver)
Bjr,
Ben tu l'as la réponse : si tu utilises un integer comme clé alors tu peux utiliser AddObject ... sans stocker un objet !!!
Ex :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 procedure TForm1.Button3Click(Sender: TObject); var i : Integer; begin ComboBox1.Items.Clear; for i:=0 to 10 do ComboBox1.Items.AddObject('Libellé '+IntToStr(i),TObject(i)); end; procedure TForm1.ComboBox1Change(Sender: TObject); var ID : Integer; begin ID := Integer(ComboBox1.Items.Objects[ComboBox1.ItemIndex]); ShowMessage('Libellé = '+ComboBox1.Text+#13#10'ID = '+IntToStr(ID)); end;
Maintenant si ton ID est complexe (autre que integer en fait) alors tu dois passer par un véritable objet.
Je fais ca tout le temps et ca marche nickel![]()
Voilà
@+
Php
Partager