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 :

[VS2005][C#] Sélection Item qui contient une string


Sujet :

Windows Forms

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 13
    Points : 5
    Points
    5
    Par défaut [VS2005][C#] Sélection Item qui contient une string
    Bonjour,

    voilà j'essaye tant bien que mal depuis ce matin de cocher des items qui contient un mot par exemple.

    J'ai un contrôle CheckedListBox, dans lequel j'ai 30 objets.
    Je voudrais utiliser la fonction SetItemChecked(int index, bool value) pour que tous les objets qui contienne le mot (admettons paris) soient cochés.

    Voici mon code :

    CheckedListBox.ObjectCollection clbOC = CheckedListBox1.Items;

    foreach(string str in clbOC)
    {
    if (str.Contains("paris"))
    {
    CheckedListBox1.SetItemChecked(str[0], true);
    }
    }

    Auriez-vous une idée pour m'éclairer ?

    Merci, bonne soirée.

  2. #2
    Membre expérimenté
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Points : 1 566
    Points
    1 566
    Par défaut
    Salut Olivier et bienvenue au Developpez.com, essai de jeter un coup d'oeil sur les regles du forum pour ameliorer la qualite de ton post

    Voila comment resoudre ton probleme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
       for (int i = 0; i < CheckedListBox1.Items.Count; i++)
        {  
            if(((DataRowView)CheckedListBox1.Items[i]).Row[CheckedListBox1.DisplayMember].Equals("Paris"))
               CheckedListBox1.SetItemChecked(i, true);
        }
    A+

  3. #3
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 13
    Points : 5
    Points
    5
    Par défaut Sélection Item qui contient une string
    Bonjour mehdi_tn,

    merci beaucoup pour ton code source.
    Je vais allé jeter un petit coup d'oeil sur les règles du forum.

    Bonne soirée

    Sympa

  4. #4
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    voilà je viens d'essayer le code mais j'ai une erreur au lancement du programme :

    Impossible d'effectuer un cast d'un objet de type 'System.String' en type 'System.Data.DataRowView'.

    Je ne sais pas si c'est le DataRowView qui emet l'erreur mais apperement si je met String à la place (((String)CheckedListBox1 ... cela ne fonctionne pas non plus.

    Une idée ? merci d'avance

  5. #5
    Membre expérimenté
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Points : 1 566
    Points
    1 566
    Par défaut
    Salut

    t'es sure que t'a bien copié le code parce que il est tout recent et je l'utilise dans un de mes projets. Verifie les parentheses

  6. #6
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    J'ai essayer de créer un DataRowView qui point vers ma ligne de CheckedListBox :

    DataRowView drv = ((DataRowView)CheckedListBox1.SelectedItem;

    sans succès

  7. #7
    Membre expérimenté
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Points : 1 566
    Points
    1 566
    Par défaut
    en fait, tu travailles avec quelle version de Visual Studio ? 2005 (framework 2.0) ou 2003 (framework 1.1) ?

  8. #8
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    Bonjour,

    en fait je développe avec Visual Studio 2005 Express Edition, qui eest gratuite pour usage personnel.

    Sur ma machine, les deux Framework sont installés, à savoir la 1.1 et 2.0

    Non, je confirme j'ai toujours l'erreur :

    Impossible d'effectuer un cast d'un objet de type 'System.String' en type 'System.Data.DataRowView'.

    Ou peut être me manque t'il une références à ajouter car lorsque je tape :

    if (((DataRowView)CheckedListBox1.Items[i]).Row[CheckedListBox1.

    le DisplayMember qui devrait suivre ne s'affiche pas dans la liste j'ai juste un DisplayRectangle.

    VOilà

  9. #9
    Futur Membre du Club
    Inscrit en
    Juillet 2006
    Messages
    13
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 13
    Points : 5
    Points
    5
    Par défaut
    re BOnjour,

    juste pour vous dire que c'est bon je viens de trouver la solution à mon problème.

    En fait il ne sert à rien d'utiliser un DataRowView, voilà le bon code :

    for (int i = 0; i < CheckedListBox1.Items.Count; i++)
    {
    if (CheckedListBox1.Items[i].ToString().Contains("Paris"))
    {
    CheckedListBox1.SetItemChecked(i, true);
    }
    }

    Merci quand même d'avoir pris le temps de m'adier mehdi_tn

    Sympa de ta part

    A+

  10. #10
    Membre chevronné
    Avatar de Piotrek
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    869
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 869
    Points : 1 904
    Points
    1 904
    Par défaut
    Veuillez respecter les regles du forum (balises de code, tag du titre) et de bien indiquer "resolu" avec le bouton adequat, merci

  11. #11
    Membre expérimenté
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Points : 1 566
    Points
    1 566
    Par défaut
    Oui, tu as raison, c'est parce que tu remplie ta checkboxlist manuellement alors que je la remplie par un databinding.

    Desolé je n'avais pas pensé à ton cas. L'essentiel est que tu as trouvé la reponse

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 16/07/2007, 21h47
  2. Créer une feuille qui contient une seule page seulement
    Par k-eisti dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 14/05/2007, 17h38
  3. Récuération d'une variable qui contient une phrase
    Par lama85 dans le forum Langage
    Réponses: 1
    Dernier message: 23/08/2006, 13h52
  4. suppression dans une table qui contient une clé etrangère
    Par zana74 dans le forum Décisions SGBD
    Réponses: 13
    Dernier message: 08/08/2006, 10h58

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