comment remplir une checkedlistbox a partir d'une autre ?

comment remplir une checkedlistbox a partir d'une autre ? - C#/.NET managed - Programmation

Marsh Posté le 10-06-2008 à 13:29:27    

bonjour a tous, voila mon probleme est dans le titre, pour une application que je développe en c# et sql server express 2005
je dois faire un formulaire avec 2 checkedlistbox, la premiere se remplissant par la base sql
et la seconde doit se remplir avec la premiere.
 
je m'explique :
 
la premiere (que je nommerais clb1) recupere les données d'une base sql (ca c'est deja reglé :))
la clb2 (l'autre donc) doit se remplir avec les items cochés de la clb1 sur click d'un bouton "ajouter"...
 
le probleme c'est que je n'ai pas accès au "valuemember" comme pour les combobox, que j'aurai utilisé pour  
pour afficher le reste, j'ai essayé plusieurs trucs comme afficher le selectedindices checkeditem ...
le seul qui a fonctionné a peu près  :pfff:  c'est quand j'ai afficher le clb1.text mais il n'affiche que l'élément en surbrillance
et si je coche 3 cases il y aura donc 3 fois le meme affichage  :cry:  
 
si quelqu'un de bien veillant voulait m'aider je lui en serait reconnaissant  :sarcastic:

Reply

Marsh Posté le 10-06-2008 à 13:29:27   

Reply

Marsh Posté le 19-06-2008 à 09:27:50    

Dans le code du bouton Ajouter:
 

Code :
  1. foreach (object idx in clb1.CheckedItems)
  2. {
  3.     clb2.Items.Add(clb1.GetItemText(idx));
  4. }


---------------
Another .Net Blog
Reply

Marsh Posté le 19-06-2008 à 09:39:12    

merci de ta reponse mais on m'a deja aidé et j'avais deja testé ta solution elle ne fonctionne pas  
 
voici le code pour ceux qui cherche comme moi :
 
 

Code :
  1. --------------------------------------------------------------------------------
  2. //Le nom de la colonne a afficher
  3. String colName = this.checkedListBox1.DisplayMember;
  4. foreach(object obj in checkBoxList1.CheckedItems)
  5. {
  6. if(obj is DataRowView)
  7. {
  8. //unboxing du DataRowView
  9. DataRowView row = obj as DataRowView;
  10. //Valeur à afficher
  11. String currentValue = row.Row[colName].ToString();
  12. //Tester si la valeur existe déja dans la 2eme list
  13. if( !this.checkBoxList2.Items.Contains(currentValue))
  14. {
  15. this.checkBoxList2.Items.Add(currentValue);
  16. }
  17. }

Reply

Marsh Posté le 19-06-2008 à 09:41:55    

Je viens de tester le code que je t'ai donné et il fonctionne bien chez moi  :??:


---------------
Another .Net Blog
Reply

Marsh Posté le 19-06-2008 à 14:03:10    

maxlandx a écrit :

merci de ta reponse mais on m'a deja aidé et j'avais deja testé ta solution elle ne fonctionne pas


comment ça elle ne fonctionne pas ? :heink:


---------------
J'ai un string dans l'array (Paris Hilton)
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed