Changer le type de colonne d'un DataGridView

Résolu
vercomax Messages postés 547 Date d'inscription mercredi 28 juillet 2004 Statut Membre Dernière intervention 11 septembre 2013 - 31 janv. 2013 à 09:22
 Pascalnasena - 12 janv. 2018 à 16:06
Bonjour,

J'aimerai changer le type d'une colonne datagridview texte en datagridview combobox par le code. Ce combo serait alimenté par une datatable.
Je précise que je sait le faire en insérant une nouvelle colonne et je mets bien à jour mon datagridview; J'ai donc 2 colonnes.
J'aimerai en avoir qu'une.

Merci pour vos réponses.

3 réponses

vercomax Messages postés 547 Date d'inscription mercredi 28 juillet 2004 Statut Membre Dernière intervention 11 septembre 2013 2
1 févr. 2013 à 10:44
Oui, c'est bien çà, j'utilise une DataGridViewComboBoxCell que je rempli avec un datatable :

Dim cmb As New DataGridViewComboBoxCell
cmb.DataSource = recupere_donnees_table("voltages", "voltage")
cmb.DisplayMember = "voltage"
cmb.ValueMember = "voltage"
grille_catrefsa.Rows(x).Cells(y) = cmb

Private Function recupere_donnees_table(table As String, champ As String)
Try
Dim sqlcommand As String = ("SELECT DISTINCT " & champ & " FROM " & table & " ORDER BY " & champ & " ASC")
Dim i_catrefs As New MySqlConnection(connStr)
i_catrefs.Open()
Dim command As New MySqlCommand(sqlcommand, i_catrefs)
Dim adapter As New MySqlDataAdapter()
adapter.SelectCommand = command
Dim i_table As New DataTable()
adapter.Fill(i_table)
i_catrefs.Close()
Return i_table
Catch ex As Exception
MsgBox(ex.Message)
End Try
Return ""
End Function

Merci
3
Utilisateur anonyme
31 janv. 2013 à 19:16
Bonjour,

On peut lire sur msdn :
La propriété ColumnType est une propriété de moment de design uniquement qui indique la classe qui représente le type de colonne. Il ne s'agit pas d'une propriété réelle définie dans une classe de colonne.

Le moyen le plus simple est donc de supprimer la colonne et d'en recréer une du type souhaité et de la peupler avec tes données converties.
0
vercomax Messages postés 547 Date d'inscription mercredi 28 juillet 2004 Statut Membre Dernière intervention 11 septembre 2013 2
31 janv. 2013 à 21:13
Merci banana32,

J'ai certainement trouvé la solution en utilisant datagridviewcomboboxcell. En faisant apparaitre un combo directement dans la cellule cliquée pour éviter d'avoir une colonne remplie de combo, c'est plus joli ;)
Je vous tiens au jus.

Merci.
0
Pascalnasena
12 janv. 2018 à 16:06
puis - je avoir ce lien?
0
Rejoignez-nous