Question

Comment puis-je modifier le DataGridViewColumn dans un DataGridView lors de l'utilisation DataGridView.DataSource = DataSet.Table?

OleDbConnection connection = new OleDbConnection(...);
OleDbDataAdapter adpCustomer = new OleDbDataAdapter(..);
DataSet dsCustomer = new DataSet();
adpCustomer.Fill(dsCustomer, "customer");
DataGridView dgv = new DataGridView();
dgv.DataSource = dsCustomer.Tables[0];

// TODO: modify columns to use combobox, checkbox etc.. how?

Merci à l'avance.

Était-ce utile?

La solution

Vous ne pouvez pas modifier les colonnes. Si vous voulez un ComboBoxColumn, vous devrez ajouter à la DataGridView avant. Ajoutez votre colonne de zone de liste déroulante AVANT bind et définir sa DataPropertyName de sorte que la grille se lier les données correctes à cette colonne au lieu de créer un nouveau.

Une autre façon de le faire est, si vous pouvez, utiliser DataSet fortement typé, car il crée automatiquement CheckBoxColumns pour vos colonnes booléens, etc ...

Autres conseils

Utilisez événement AutoGeneratingColumn de la grille de données. Cela vous donnera une poignée à la colonne en cours de création et vous pouvez modifier la colonne selon les besoins. Ci-dessous le code de droite VS2010 Aide Fichier:

Private Sub DG1_AutoGeneratingColumn(ByVal sender As Object, ByVal e As DataGridAutoGeneratingColumnEventArgs)
    Dim headername As String = e.Column.Header.ToString()
        If headername = "FirstName" Then
        e.Column.Header = "First Name"
    End If
End Sub
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top