drcmomo
Messages postés182Date d'inscriptionlundi 13 mars 2006StatutMembreDernière intervention25 décembre 2009
-
5 mai 2008 à 10:02
Neo020585
Messages postés178Date d'inscriptionlundi 10 mars 2003StatutMembreDernière intervention 6 juillet 2009
-
5 mai 2008 à 11:53
Bonjour tout le monde ,
J'ai une listview avec des checkBoxe, je voudrais utiliser qu'un bouton pour selectionner et deselectionner tous les elements de la liste.
J'ecris ce petit bout code(voir ci-dessous) ça marche dans un seul cas , cas ou il faut tout selectionner. Je voudrais savoir si possible et comment faire si tout les elements sont deja selectionner pour tout deselectionner(avec le même bouton)?
Merci d'avance
SelectAll = = true;
private void btnselectionnerDeselectionner_Click(object sender, EventArgs e)
{
if (SelectAll = = false)
{
for (int IntNoLigne = 0; IntNoLigne < this.LstChkServices.Items.Count; IntNoLigne++)
{
LstChkServices.SetItemChecked(IntNoLigne, true);
}
Neo020585
Messages postés178Date d'inscriptionlundi 10 mars 2003StatutMembreDernière intervention 6 juillet 20094 5 mai 2008 à 11:10
Bonjour,
Mon code est une version simplifiée du tiens !
Je ne comprends pas pourquoi tu parcours tes items avec un for alors que la propriété Items de la ListView revoit une collection dans laquelle il devient aisé de se déplacer (via l'utilisation d'un foreach) !
Moins de lignes de code, c'est moins de lignes à debugger en cas de problème...
Enfin, tu fais comme tu le sent, si tu préfère ta méthode et qu'elle fonctionne, tant mieux car c'était le but. Je ne fais que te montrer une voie alternative...
Par contre, penses à valider l'une des réponses du sujet afin de le tagger en tant que résolu.
"Une chose me laisse perplexe : Est-ce moi ou les autres qui sont fous ?" A. Einstein
drcmomo
Messages postés182Date d'inscriptionlundi 13 mars 2006StatutMembreDernière intervention25 décembre 2009 5 mai 2008 à 11:27
Oui , tu as raison mais le probléme avac ta source j'ai le message d'erreur suivant :
Impossible d'effectuer un cast d'un objet de type 'System.String' en type 'System.Windows.Forms.ListViewItem'.
Qui vient de ListViewItem lv1
Le tiens est plus simple j'avoue.
Merci encore!!!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Neo020585
Messages postés178Date d'inscriptionlundi 10 mars 2003StatutMembreDernière intervention 6 juillet 20094 5 mai 2008 à 11:53
Bonjour,
Un ListViewItem et un élément (item) de ta ListView, il représente une ligne entière (en plusieurs colonnes si ta ListView en est composée).
<hr size="2" width="100%" />ListViewItem lvi;
lvi.SubItems[0].Text // valeur de la première colonne de l'item représenté par lvi, équivaut aussi à lvi.Text
lvi.SubItems[1].Text // valeur de la deuxième colonne de l'item représenté par lvi
lvi.SubItems[2].Text // valeur de la troisième colonne de l'item représenté par lvi
<hr size="2" width="100%" />
Donc tu peux facilement y accéder.
De même, si tu stocke des informations dans la propriété Tag de ton Item, tu peux y accéder facilement avec lvi.Tag.
Je n'utilise plus que cette méthode pour parcourir mes ListView !
"Une chose me laisse perplexe : Est-ce moi ou les autres qui sont fous ?" A. Einstein