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 :

comment remplir une checkedlistbox à partir d'une autre ?


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2008
    Messages : 31
    Par défaut comment remplir une checkedlistbox à partir d'une autre ?
    bonjour a tous, voila mon probleme est dans le titre, pour une application que je développe en c# et sql server express 2005
    je dois faire un formulaire avec 2 checkedlistbox, la premiere se remplissant par la base sql
    et la seconde doit se remplir avec la premiere.

    je m'explique :

    la premiere (que je nommerais clb1) recupere les données d'une base sql (ca c'est deja reglé )
    la clb2 (l'autre donc) doit se remplir avec les items cochés de la clb1 sur click d'un bouton "ajouter"...

    le probleme c'est que je n'ai pas accès au "valuemember" comme pour les combobox, que j'aurai utilisé pour
    pour afficher le reste, j'ai essayé plusieurs trucs comme afficher le selectedindices checkeditem ...
    le seul qui a fonctionné a peu près c'est quand j'ai afficher le clb1.text mais il n'affiche que l'élément en surbrillance
    et si je coche 3 cases il y aura donc 3 fois le meme affichage

    si quelqu'un de bien veillant voulait m'aider je lui en serait reconnaissant

  2. #2
    Membre éclairé Avatar de guigouz
    Profil pro
    Étudiant
    Inscrit en
    Mars 2008
    Messages
    84
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2008
    Messages : 84
    Par défaut
    Il me semble que tu peux récupérer directement les items de ta première listView et les passer dans la seconde.
    Je n'ai pas le temps de tester mais ça pourrait ressembler à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    for (int i = 0; i <= maListViewA.Items.Count - 1; i++)
    {
           if(maListViewA.Items[i].Checked)
           {
                  monItem = maListViewA.Items[i];
                  maListViewA.Items[i].Remove(); // Je crois que c'est "obligatoire" (ne sais pas pk)
                  maListViewB.Items.Add(monItem);
           }
    }
    Voila je ne suis pas sur que ça marche et j'espère avoir répondu à ta question.
    Bonne continuation !

    Guigouz

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2008
    Messages : 31
    Par défaut
    merci mais j'arrive pas a me servir de ton code

    petite precision : quand je teste differents code
    en les affichant avec un messagebox il me dit system.data.datarowview
    je peux afficher le displaymember contenu dans la premiere checkedlistbox mais je peux en voir qu'un seul a la fois, si j'en coche 2 ou 3 ben y aura autant de messagebox avec le meme displaymember affiché

  4. #4
    Membre expérimenté Avatar de g_tarik0010
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mai 2006
    Messages
    186
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

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

    Informations forums :
    Inscription : Mai 2006
    Messages : 186
    Par défaut
    Tu peux voir du coté CheckedItems

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    foreach (object itemChecked in checkedListBox1.CheckedItems)
                {
     
                    checkedListBox2.Items.Add(itemChecked);
                }

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Février 2008
    Messages : 31
    Par défaut
    j'ai essayé mais ca m'ecrit system.data.datarowview ...

    quelqu'un sait pourquoi ?

    sinon y a pas une autre maniere moins compliquée pour faire l'equivalent ?

    le principe c'est que j'ai une liste de membres, je dois en inscrire quelques uns à une activité sélectionnée auparavant, je sais pas si c'est compréhensible et si c'est le cas je m'en excuse

  6. #6
    Membre Expert Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Par défaut
    Citation Envoyé par maxland Voir le message
    j'ai essayé mais ca m'ecrit system.data.datarowview ...
    salut,

    Erreur à la compilation ? à l'exécution ? Tu peux donner le message exact ?

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

Discussions similaires

  1. Réponses: 7
    Dernier message: 22/06/2012, 13h12
  2. [Batch] Créer une chaine à partir d'une variable et d'une autre chaine
    Par mlle lain dans le forum Scripts/Batch
    Réponses: 1
    Dernier message: 10/11/2009, 17h26
  3. Réponses: 2
    Dernier message: 05/01/2009, 13h45
  4. Réponses: 5
    Dernier message: 22/05/2008, 15h42
  5. Réponses: 4
    Dernier message: 04/06/2007, 11h14

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