Compter nombre de données d'un listview

brino1987 - Modifié par Whismeril le 20/02/2014 à 18:06
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 - 20 févr. 2014 à 18:49
Bonjour,
Mon souci c'est comment je peux compter le nombres de données à partir un test sur une colonne d'un listview?

voilà, ma listview (c# winform ) est remplie grâce un clic bouton et elle comporte les colonnes :Time Type ID Length Data Période et Mode d'envoie

Je veux compter le nombres de données lorsque ID=145 par exemple

comment je fais delà s.v.p ?

voilà mon tranche de code pour remplir ma listview:

private void btnSend_Click(object sender, EventArgs e)
       
 {

                String currentTextBox = txtData0.Text + " " + txtData1.Text + " " + txtData2.Text + " " + txtData3.Text + " " + txtData4.Text + " " + txtData5.Text + " " + txtData6.Text + " " + txtData7.Text;

                ListViewItem item =new ListViewItem(time.Second.ToString());
  
                item.SubItems.Add(CanMsgType.Text);                    
                item.SubItems.Add(txtID.Text);                    
                item.SubItems.Add(nudLength.Value.ToString());                    
                item.SubItems.Add(currentTextBox);
                item.SubItems.Add("null");                                    
                item.SubItems.Add(radioManual.Text);
                    
                listVTrace.Items.Add (item);
       
 }


et Voilà mon tranche de code pour compter le nombres de données lorsque ID=145

private void btnSet_Click(object sender, EventArgs e)
        {   
            int RTR;

            for (int k = 0; k < listVTrace.Items.Count; k++)
            {
                RTR = 0;


                if (listVTrace.Items[k].SubItems[2].Text == "145")
                {
                    
                    RTR = RTR + 1;
                }
                TotalRTR.Text = RTR.ToString();

            }
        }




Merci d'avance

2 réponses

Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
20 févr. 2014 à 18:08
Bonjour, je me suis permis de forcer la coloration en Csharp (<code csharp>), tu avais mis la balise par défaut (<code>)et le site n'a pas reconnu le langage.
0
Whismeril Messages postés 19028 Date d'inscription mardi 11 mars 2003 Statut Non membre Dernière intervention 24 avril 2024 656
Modifié par Whismeril le 20/02/2014 à 18:49
Rebonsoir, pour répondre à ta question quand tu crées l'item, donne lui un nom:
item.Name = txtID.Text; 


Ensuite tu te sers de la méthode Find qui va te retourner un tableau contenant tous les éléments dont le nom est celui que tu cherches.
Ce tableau possède une propriété length qui retourne le nombre d'enregistrement:

ListViewItem[] toto = listView1.Items.Find("145",false);
int nombre = toto.Length;




Penser aux balises de coloration syntaxique: bouton <>, préciser le langage :<code csharp>.
Quand la solution est trouvée, mettre la discussion Résolue.
0
Rejoignez-nous