C# - objet checkedlistbox - C#/.NET managed - Programmation
Marsh Posté le 19-04-2005 à 20:24:20
il suffit que la source que tu as associés à ton datasource soit une variable membre privée de la classe. Donc en ayant l'indice, il suffit de parcourir ta source jusqu'au même indice et récupérer les autres valeurs.
Enfin si tu veux une réponse plus simple, faudrait que tu me donne un peu plus de détails, car la euh comment dire, je sais pas exactement ce que tu veux. Je ne pense pas que l'évenement mousedown soit le plus approprié non plus :s
Marsh Posté le 20-04-2005 à 09:51:49
moi23372 a écrit : il suffit que la source que tu as associés à ton datasource soit une variable membre privée de la classe. Donc en ayant l'indice, il suffit de parcourir ta source jusqu'au même indice et récupérer les autres valeurs. |
Mon code :
pour alimenter ma checkedlistbox je lui associe une dataview (dataview) qui contient ma datasource :
checkedlistbox.DataSource = dataview;
Je lui indique que la valeur que je veux associer a ma ligne correspond a la colonne ID de ma datasource :
checkedlistbox.ValueMember = "ID";
Ensuite sur l'evenemenet mousedown je peux recuperer l'index de la ligne cliquée (e etant du type MouseEventArgs):
int index = checkedlistbox.IndexFromPoint(e.X,e.Y);
Maintenant je voudrai la valeur de "ID" correspondant a la ligne cliquée , help
Marsh Posté le 20-04-2005 à 10:53:10
Y'a mieux : l'évènement ItemCheck qui se déclenche aux checkage/décheckage d'un élément.
Marsh Posté le 20-04-2005 à 14:12:36
moi23372 a écrit : il suffit de parcourir ta source jusqu'au même indice et récupérer les autres valeurs. |
Pour ca je vois le principe, je peux le faire, mais j'imaginais pouvoir me passer d'enregistrer ma source finalement, si y'a pas d'autres solution, je vais me resigner a faire ca.
En fait ma source a la base sert juste a alimenter mon checkedlistbox
Et sinon j'ai utilisé comme precisé par FlorentG l'evenement ItemCheck, et c'est carrement plus simple
Marsh Posté le 20-04-2005 à 14:32:17
J'ai trouvé ! faut faire :
((DataRowView)(checkedlistbox.Items[e.Index]))["MA_COLONNE"]
et ca me permet de recuperer la colonne que je veux de ma datasource d'origine
Marsh Posté le 19-04-2005 à 19:39:10
Salut tout le monde,
j'ai un p'tit soucis avec le control checklistbox dont je ne sais pas me servir.
Je l'alimente a partir d'une datasource.
Ensuite en cochant ou decochant une case, je voudrai pouvoir obtenir les infos de ma datasource associé a la ligne cochée.
J'utilise l'evenement MouseDown qui me permet de connaitre l'index de l'element cliqué, mais apres je coince.
Si quelqu'un sait ca , merci
Message édité par liink le 19-04-2005 à 19:51:09