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

C# Discussion :

Controle de doublons


Sujet :

C#

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 114
    Points : 71
    Points
    71
    Par défaut Controle de doublons
    Bonjour,

    Dans le code suivant ;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
                        foreach (KeyValuePair<int, string> kvp in RechercheDoublons)
                        {
                            lv_names.Items.Add(kvp.Value);
                        }
    je souhaite vérifier que je n'ai pas de doublons dans la listview ^^".

    Quelques conseils ?

  2. #2
    Membre éprouvé

    Homme Profil pro
    Développeur .NET
    Inscrit en
    Juin 2011
    Messages
    487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : Finance

    Informations forums :
    Inscription : Juin 2011
    Messages : 487
    Points : 945
    Points
    945
    Par défaut
    Bonjour,

    Où veux tu éviter les doublons ? Dans lv_name ? Si c'est un dico :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    foreach (KeyValuePair<int, string> kvp in RechercheDoublons)
        {
            if(!lv_names.Contains(kvp.Key))
                lv_names.Items.Add(kvp.Value);
        }
    Il y a peut être plus rapide, donne nous les types et plus d'infos

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 114
    Points : 71
    Points
    71
    Par défaut
    Ah oui pardon.

    Ce qui me complique la tâche, c'est que c'est pas une listbox, mais une ListViewBox et que j'arrives pas à itterer sur les valeurs de chaque ItemListView !

    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
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
     
    namespace Random_Name_Generator
    {
        public partial class datafile_tool : UserControl
        {
            public datafile_tool()
            {
                InitializeComponent();
                cb_tag1.Text = "";
                cb_tag2.Text = "";
                cb_tag3.Text = "";
                cb_tag5.Text = "";
                cb_tag6.Text = "";
                cb_tag7.Text = "";
            }
     
            private void ts_opnf_Click(object sender, System.EventArgs e)
            {
                OFD.ShowDialog();
            }
     
            private void OFD_FileOk(object sender, System.ComponentModel.CancelEventArgs e)
            {
                string mfile = OFD.FileName;
                try
                {
                    // Create an instance of StreamReader to read from a file.
                    // The using statement also closes the StreamReader.
                    using (StreamReader sr = new StreamReader(mfile))
                    {
                        string line;
                        Dictionary<int, string> RechercheDoublons = new Dictionary<int, string>();
                        int counter1 = 0;
                        while ((line = sr.ReadLine()) != null)
                        {
                            string[] divide = line.Split(Convert.ToChar(" "));
                            if (divide.Length > 0)
                            {
                                foreach (string str in divide)
                                {
                                    string str1 = str.Trim();
                                    if (!RechercheDoublons.ContainsValue(str1))
                                        RechercheDoublons.Add(counter1, str1);
                                    counter1++;
                                }
                            }
                            else
                            {
                                if (!RechercheDoublons.ContainsValue(line.Trim()))
                                    RechercheDoublons.Add(counter1, line.Trim());
                                counter1++;
                            }
                        }
                        foreach (KeyValuePair<int, string> kvp in RechercheDoublons)
                        {
                            lv_names.Items.Add(kvp.Value);
                        }
    }
                }
                catch (Exception ex)
                {
                    // Let the user know what went wrong.
                    MessageBox.Show(ex.ToString());
                }
     
                Application.DoEvents();
            }
        }
    }

  4. #4
    Membre éprouvé Avatar de kheironn
    Homme Profil pro
    Chef de projets technique C# / MVC / .Net
    Inscrit en
    Février 2007
    Messages
    822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Chef de projets technique C# / MVC / .Net
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2007
    Messages : 822
    Points : 1 108
    Points
    1 108
    Par défaut
    lv_names.Items doit être une collection, il n'y a pas de contains ?

    si oui, avec un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if !lv_names.Items.Contains(toto){
        lv_names.Items.Add(toto);
    }
    tu devrais pouvoir t'en sortir

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    114
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 114
    Points : 71
    Points
    71
    Par défaut
    J'ai changé pour une listbox toute simple et ça marchait avec ton code. Du coup, j'ai fait plusieurs listbox au lieu d'une seule qui rassemble sous des catégories, ça passe nickel ^^.

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

Discussions similaires

  1. [XL-2010] USF / .Controls / tags / remplir Combobox sans doublon et classer
    Par GADENSEB dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 31/03/2015, 21h51
  2. Réponses: 11
    Dernier message: 26/09/2013, 16h05
  3. Controler les doublons
    Par meldja dans le forum IHM
    Réponses: 2
    Dernier message: 17/05/2010, 08h05
  4. [MySQL] Controler des doublons
    Par Telecaster dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 09/10/2009, 09h57
  5. Réponses: 2
    Dernier message: 27/05/2007, 13h26

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