如何:从 Windows 窗体 DataGridView 控件中移除自动生成的列

如果 DataGridView 控件设置为根据其数据源中的数据自动生成其列,可有选择地省略某些列。 可通过在 Columns 集合上调用 Remove 方法来实现此目的。 也可通过将 Visible 属性设置为 false 来隐藏列。 如果希望在某些条件下显示隐藏的列,或者需要访问列中的数据而不显示它,此方法很有用。

删除自动生成的列

  • Columns 集合调用 Remove 方法。

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

隐藏自动生成的列

  • 将列的 Visible 属性设置为 false

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

示例

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

编译代码

此示例需要:

  • 名为 dataGridView1DataGridView 控件绑定到包含 FaxCustomerID 列的表,例如 Northwind 示例数据库中的 Customers 表。

  • SystemSystem.Windows.Forms 程序集的引用。

另请参阅