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 :

[c#] DataGridView et Combobox, encore


Sujet :

Windows Forms

  1. #1
    Membre chevronné Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Points : 2 145
    Points
    2 145
    Par défaut [c#] DataGridView et Combobox, encore
    Bonjour à tous,
    Comme il a déjà été demandé sur ces forums, je cherche à utiliser un DataGridView avec des ComboBox à l'intérieur.
    J'ai trouvé sur ce topic comment faire à peu près, mais il me manque des choses.

    Je vous explique :
    Je remplit mes DataGridView à l'aide d'une DataTable, qui va chercher les infos dans une classe cFedBranche.
    Cette classe possède 4 champs : une ref (double), un libellé (string) et 2 booléen.
    Pour le moment ma DataTable se remplit, avec un "Oui"/"Non" dans des colonnes "normales" et mon DataGridView prend sa source dans cette DataTable.
    Je voudrais remplacer les colonnes "normales" de mes booléens de mon DataGridView par des comboBox Oui/Non.

    Est ce possible si je passe par mes DataTable ?
    Est-il possible de le faire directement dans ma méthode qui me crée ma DataTable ?

    Où, est-ce beaucoup plus simple de laisser des colonnes normale et obliger la saisie d'un Oui/Non par l'utilisateur ?

    Merci pour toute votre aide.

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 238
    Points : 269
    Points
    269
    Par défaut
    Salut,
    Perso je n'utilise pas de DataSet puisque je remplit mon DataGridView à la main mais je te file mon Code me permettant d'inséré une ComboBoxColumn.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     private void AjouteComboBoxColumn(String pNom, String[] Valeurs, int indice)
            {              
     
                DataGridViewComboBoxColumn comboxColonne;
     
                comboxColonne = new DataGridViewComboBoxColumn();
                comboxColonne.HeaderText = pNom;
                comboxColonne.Items.AddRange(Valeurs);
                MonDataGridView.Columns.Insert(indice, comboxColonne);
            }
    J'espêre que ca t'aidera

  3. #3
    Membre chevronné Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Points : 2 145
    Points
    2 145
    Par défaut
    Merci pour ce bout de code, effectivement, plus pratique de l'avoir dans une méthode à part

    Donc apparement l'ajout de la colonne comboBox se fait uniquement dans le DataGridView, et non dans le DataTable, ce qui semble assez logique en fait...

    Le problème est que mon DataGridView est completement vide au début et n'est remplit que dans le code, avec mes DataTables générée génériquement à partir de mes requetes de recherche.
    Ce qui pourrait etre bien, une fois la source du DataGridView récupérée, serait de remplacer la colonne numéro n par un ComboBox avec la valeur corretement attribuée.

    Merci

  4. #4
    Membre actif
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    238
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 238
    Points : 269
    Points
    269
    Par défaut
    Je pense que ca doit être faisable. Mais ils ont peut être prévu de pouvoir modifier la DataTable, pour faire correspondre la Colonne du Datagrid sous Forme de ComboBoxColumn... mais c'est une hypothèse un peu folle !

  5. #5
    Membre chevronné Avatar de Jinroh77
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Février 2006
    Messages
    1 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Février 2006
    Messages : 1 964
    Points : 2 145
    Points
    2 145
    Par défaut
    J'aimerais bien..... Ca ferait une vrai solution bien propre.
    Parce que sinon ça risque d'alourdir pas mal.
    Je fais un premier affichage au chargement, puis ensuite l'utilisateur à 2 DataGridView à sa disposition avec à gauche une liste (Ref et libellé) et à droite, il peut metre les lignes de gauche et il choisit ensuite les boolean Oui/Non pour 2 colonnes.

Discussions similaires

  1. datagridview et combobox
    Par dark vador dans le forum VB.NET
    Réponses: 6
    Dernier message: 04/03/2008, 15h50
  2. Réponses: 2
    Dernier message: 09/12/2007, 23h35
  3. DataGridView et ComboBox ReadOnly
    Par Mast3rMind dans le forum Windows Forms
    Réponses: 1
    Dernier message: 14/03/2007, 18h17
  4. [VS2005] Datagridview et combobox binding
    Par s.n.a.f.u dans le forum Visual Studio
    Réponses: 3
    Dernier message: 13/12/2006, 16h15

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