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 :

Ajout de controls dans DataGridView


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de salrouge
    Inscrit en
    Mars 2006
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 110
    Par défaut Ajout de controls dans DataGridView
    bonjour
    j'aimerais savoir s'il y a une méthode pour ajouter des controls comme un combobox dans une cellule spécifique d'un controle DataGridView.
    je sais bien qu'une colone d'un datagridview peut etre de type combo par exemple mon cas c'est de remplir des cellules prédéfinies avec des combobox
    merci pour votre aide

  2. #2
    AP
    AP est déconnecté
    Membre chevronné
    Avatar de AP
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2002
    Messages : 480
    Par défaut
    Tu veux faire quoi exactement? Car il est possible que le datagridview ne soit pas le meilleur controle pour ton utilisation...(c'est mon impression à la lecture de ton message)

  3. #3
    Membre Expert
    Avatar de olsimare
    Inscrit en
    Décembre 2006
    Messages
    1 182
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 182
    Par défaut
    Bonjour.

    Oui, ça peut se faire à l'initialisation du dgv mais c'est laborieux et déconseillé pour des raisons de performance (cf. le sample de microsoft sur le datagridview).

    Une exemple :
    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
     
            Me.DataGridView1.Columns.Add("Col1", "C1")
            Me.DataGridView1.Columns.Add("Col2", "C2")
            Me.DataGridView1.Columns.Add("Col3", "C3")
     
            Dim c As New DataGridViewComboBoxCell
            Dim d As New DataGridViewTextBoxCell
            Dim f As New DataGridViewComboBoxCell
            Dim dr1 As New DataGridViewRow
            dr1.Cells.Add(c)
            dr1.Cells.Add(d)
            dr1.Cells.Add(f)
            Me.DataGridView1.Rows.Add(dr1)
     
            Dim g As New DataGridViewComboBoxCell
            Dim h As New DataGridViewTextBoxCell
            Dim i As New DataGridViewComboBoxCell
            Dim dr2 As New DataGridViewRow
            dr2.Cells.Add(i)
            dr2.Cells.Add(g)
            dr2.Cells.Add(h)
            Me.DataGridView1.Rows.Add(dr2)
    Une autre solution peut être de créé une class qui hérite de datagridviewcell et de travailler directement dans le InitializeEditingControl et le EditType pour que le contrôle d'édition dépende par exemple de la valeur de la cellule (intérêt ???)... Là ça permet de ne pas être tributaire du type de colonne/cellule du datagridview...........Mais c'est du sport !

    Cdt.

  4. #4
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    je viens de tester (enfin juste la faisabilité, pas les détails) car j'ai besoin d'un truc similaire

    et en fait c'est simple, la propriété item (as datagridviewcell) n'est pas readonly
    donc sur la case que tu veux en combobox, alors que la colonne est de type textbox :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    dim casecmb as New System.Windows.Forms.DataGridViewComboBoxCell()
    casecmb.value = ... ' reprendre la valeur je pense
    DataGridView.Item(col,row) = casecmb
    et j'ai bien un combobox qui s'affiche (à noter que moi je n'utilise pas datasource ...)
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  5. #5
    AP
    AP est déconnecté
    Membre chevronné
    Avatar de AP
    Profil pro
    Inscrit en
    Avril 2002
    Messages
    480
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Avril 2002
    Messages : 480
    Par défaut
    Voici un exemple détaillé pour un numéricUpDown
    http://msdn2.microsoft.com/en-us/lib...81(vs.80).aspx
    attention, toutes les cellules de ta colonne auront le même type.

  6. #6
    Membre Expert
    Avatar de olsimare
    Inscrit en
    Décembre 2006
    Messages
    1 182
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 182
    Par défaut
    Bonjour.

    Excellent Sperot51 !

    Ca marche effectivement (toutefois, il faut charger le datasource de la combo, positionner le displaymember, le valuemember, etc... ).

    Pour pas mourrir bête, ça sert à quoi de faire ça ?

    Cdt.

Discussions similaires

  1. Ajouter un control dans un VirtualStringTree
    Par KRis dans le forum Composants VCL
    Réponses: 0
    Dernier message: 22/05/2008, 10h01
  2. [C# 2.0][Ajouter des Controls dans un panel
    Par the big ben 5 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 11/11/2006, 09h07
  3. Ajout de controls dans sous formulaire via VB
    Par sunvialley dans le forum IHM
    Réponses: 3
    Dernier message: 07/06/2006, 11h15
  4. ajouter des control dans une onglet de sstab sous VB6
    Par aymane_farissi dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 26/09/2005, 13h44
  5. [VC++ 6.0] ajout de control dans l'IDE
    Par gargle dans le forum MFC
    Réponses: 7
    Dernier message: 25/08/2005, 09h33

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