Comment : supprimer les colonnes générées automatiquement d'un contrôle DataGridView Windows Forms

Lorsque votre DataGridView contrôle est défini pour générer automatiquement ses colonnes en fonction des données de sa source de données, vous pouvez omettre sélectivement certaines colonnes. Pour ce faire, appelez la Remove méthode sur la Columns collection. Vous pouvez également masquer les colonnes de l’affichage en définissant la Visible propriété sur false. Cette technique est utile lorsque vous souhaitez afficher les colonnes masquées dans certaines conditions, ou lorsque vous devez accéder aux données dans les colonnes sans l’afficher.

Pour supprimer les colonnes générées automatiquement

  • Appelez la Remove méthode sur la Columns collection.

    dataGridView1.AutoGenerateColumns = true;
    dataGridView1.DataSource = customersDataSet;
    dataGridView1.Columns.Remove("Fax");
    
    With dataGridView1
        .AutoGenerateColumns = True
        .DataSource = customersDataSet
        .Columns.Remove("Fax")
    End With
    

Pour masquer les colonnes générées automatiquement

  • Définissez la propriété de Visible la colonne sur false.

    dataGridView1.Columns["CustomerID"].Visible = false;
    
    dataGridView1.Columns("CustomerID").Visible = False
    

Exemple

private void BindDataAndInitializeColumns()
{
    dataGridView1.AutoGenerateColumns = true;
    dataGridView1.DataSource = customersDataSet;
    dataGridView1.Columns.Remove("Fax");
    dataGridView1.Columns["CustomerID"].Visible = false;
}
Private Sub BindDataAndInitializeColumns()

    With dataGridView1
        .AutoGenerateColumns = True
        .DataSource = customersDataSet
        .Columns.Remove("Fax")
        .Columns("CustomerID").Visible = False
    End With

End Sub

Compilation du code

Cet exemple nécessite :

  • Contrôle DataGridView nommé dataGridView1 lié à une table qui contient et CustomerID des Fax colonnes, telles que la Customers table de l’exemple de base de données Northwind.

  • des références aux assemblys System et System.Windows.Forms.

Voir aussi