IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

erreur avec regex ou listview


Sujet :

Windows Forms

  1. #1
    Membre du Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 40
    Points : 46
    Points
    46
    Par défaut erreur avec regex ou listview
    Bonjour à tous !

    Je suis actuellement en train de réaliser une petite application du type carnet d'adresse. Pour ce faire, j'utilise une classe personne et un fichier .csv
    Seulement voila, je voudrai que l'utilisateur puissent rechercher un contact dans la listview ou bien en recherchant directement la personne par son nom.

    La manière dont je remplit ma listview au chargement du form ne me semble pas ^^ être la meilleur mais ça marche pour l'instant.
    Donc mon problème, oui oui j'y arrive, c'est que je réutilise exactement la même technique après avoir utilisé le regex est là rien ne s'affiche...

    Pourriez-vous jeter un oeil afin de m'aider à comprendre si c'est mon regex qui est faux ou la technique que j'utilise pour afficher les résultats.

    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
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
     
            private void btn_cherch_Click(object sender, EventArgs e)
            {
                string letrChr = txt_rchNom.Text.ToString();
     
                // On vide le listView
                listViewContact.Clear();
                // On recherche dans les noms et prenoms des contacts (dans personList) la chaine letrChr
                for (int i = 0; i <= personList.Count()-1; i++)
                {
                    if (System.Text.RegularExpressions.Regex.IsMatch(personList[i].Nom, letrChr, System.Text.RegularExpressions.RegexOptions.IgnoreCase))
                    {
                        // On met l'élément dans la listView
                        // On enregistre les items
                        ListViewItem it = new ListViewItem();
                        it.SubItems[0].Text = personList[i].Nom + " " + personList[i].Prenom;
                        it.SubItems.Add(personList[i].Tel_portable+"."+personList[i].Tel_fixe);
                        // On affiche la liste dans la listView
                        listViewContact.Items.Add(it);               
                    }
                    if (System.Text.RegularExpressions.Regex.IsMatch(personList[i].Prenom, letrChr, System.Text.RegularExpressions.RegexOptions.IgnoreCase))
                    {
                        // On met l'élément dans la listView
                        // On enregistre les items
                        ListViewItem ite = new ListViewItem();
                        ite.SubItems[0].Text = personList[i].Nom + " " + personList[i].Prenom;
                        ite.SubItems.Add(personList[i].Tel_portable + "." + personList[i].Tel_fixe);
                        // On affiche la liste dans la listView
                        listViewContact.Items.Add(ite);
                    }
     
                }
     
            }
    Merci.

  2. #2
    Membre du Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 40
    Points : 46
    Points
    46
    Par défaut
    Bonsoir !

    J'ai tenté de laissé de côté les regex en utilisant un indexOf.
    Voici mon nouveau code qui ne marche toujours pas :
    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
     
    for (int i = 0; i <= personList.Count()-1; i++)
                {
                    txt_rchNom.Text = personList[i].Nom;
                    // Recherche sur les noms
                    if ((personList[i].Nom.IndexOf(pattern)) >= 0)
                    {              
                        // On met l'élément dans la listView
                        // On enregistre les items
                        ListViewItem it = new ListViewItem();
                        it.SubItems[0].Text = personList[i].Nom + " " + personList[i].Prenom;
                        it.SubItems.Add(personList[i].Tel_portable+"."+personList[i].Tel_fixe);
                        // On affiche la liste dans la listView
                        listViewContact.Items.Add(it);
                    }
    Le problème est que je rentre dans la condition 'si' mais que les items ne sont pas ajouté à la listview.
    De plus, dans mon si : j'affiche dans mon txt_rchNom (qui est une textBox) la valeur de personList[i].Nom ... est là il me renvois systématiquement le dernier nom de la List alors que celui-ci ne correspond pas avec ma recherche
    Je ne comprend vraiment pas où se trouve mon erreur je suis au bord de la crise de nerf

    Merci a ceux qui porterons attention à mon problème

  3. #3
    Membre du Club
    Femme Profil pro
    Développeur Web
    Inscrit en
    Mai 2009
    Messages
    40
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mai 2009
    Messages : 40
    Points : 46
    Points
    46
    Par défaut Problème résolu
    Pour ceux qui passerons par hasard par là...

    J'ai finit par trouver la solution à mon problème !
    La raison pour laquelle la listView ne se remplissait pas :
    il faut le remplacer par :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ListView.Items.Clear();
    En espérant que ça en aide certains

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur avec le control ListView sous XP
    Par Eric_87 dans le forum VBA Access
    Réponses: 2
    Dernier message: 28/08/2012, 18h44
  2. erreur avec ListView control
    Par lucaazori1988 dans le forum VB.NET
    Réponses: 4
    Dernier message: 09/09/2010, 18h39
  3. [LNK]erreurs avec std::tr1::regex
    Par caradhras dans le forum SL & STL
    Réponses: 10
    Dernier message: 15/06/2009, 14h49
  4. Erreur avec l'évènement OnClick de ListView
    Par xenos dans le forum Composants VCL
    Réponses: 2
    Dernier message: 21/03/2006, 14h54
  5. Erreur avec WM_COMMAND (BN_CLICKED)
    Par cyberlewis dans le forum Windows
    Réponses: 2
    Dernier message: 09/02/2004, 00h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo