DataGridView
控件取代了
DataGrid
控件并添加了功能;但是,可以选择保留
DataGrid
控件以实现向后兼容并供将来使用。 有关详细信息,请参阅
Windows 窗体 DataGridView 控件与 DataGrid 控件之间的区别
。
可以使用
GridColumnStylesCollection
和
DataGridColumnStyle
对象(它们是
DataGridTableStyle
类的成员)的属性和方法以编程方式删除或隐藏 Windows 窗体
DataGrid
控件中的列。
已删除或隐藏的列仍然存在于网格绑定到的数据源中,并且仍然可以通过编程方式访问。 它们只是不再显示在数据网格中。
如果应用程序不访问某些数据列,并且你不希望它们显示在数据网格中,那么可能一开始就没有必要将它们包含在数据源中。
以编程方式从 DataGrid 中删除列
在窗体的声明区域中,声明
DataGridTableStyle
类的新实例。
将
DataGridTableStyle.MappingName
属性设置为数据源中要向其应用样式的表。 以下示例使用
DataGrid.DataMember
属性,该示例假定已设置该属性。
将新的
DataGridTableStyle
对象添加到数据网格的表样式集合中。
调用
DataGrid
的
GridColumnStyles
集合的
RemoveAt
方法,指定要删除的列的列索引。
' Declare a new DataGridTableStyle in the
' declarations area of your form.
Dim ts As DataGridTableStyle = New DataGridTableStyle()
Sub DeleteColumn()
' Set the DataGridTableStyle.MappingName property
' to the table in the data source to map to.
ts.MappingName = DataGrid1.DataMember
' Add it to the datagrid's TableStyles collection
DataGrid1.TableStyles.Add(ts)
' Delete the first column (index 0)
DataGrid1.TableStyles(0).GridColumnStyles.RemoveAt(0)
End Sub
// Declare a new DataGridTableStyle in the
// declarations area of your form.
DataGridTableStyle ts = new DataGridTableStyle();
private void deleteColumn()
// Set the DataGridTableStyle.MappingName property
// to the table in the data source to map to.
ts.MappingName = dataGrid1.DataMember;
// Add it to the datagrid's TableStyles collection
dataGrid1.TableStyles.Add(ts);
// Delete the first column (index 0)
dataGrid1.TableStyles[0].GridColumnStyles.RemoveAt(0);
以编程方式隐藏 DataGrid 中的列
在窗体的声明区域中,声明 DataGridTableStyle 类的新实例。
将 DataGridTableStyle 的 MappingName 属性设置为数据源中要向其应用样式的表。 以下代码示例使用 DataGrid.DataMember 属性,该示例假定已设置该属性。
将新的 DataGridTableStyle 对象添加到数据网格的表样式集合中。
通过将其 Width
属性设置为 0 来隐藏该列,指定要隐藏的列的列索引。
' Declare a new DataGridTableStyle in the
' declarations area of your form.
Dim ts As DataGridTableStyle = New DataGridTableStyle()
Sub HideColumn()
' Set the DataGridTableStyle.MappingName property
' to the table in the data source to map to.
ts.MappingName = DataGrid1.DataMember
' Add it to the datagrid's TableStyles collection
DataGrid1.TableStyles.Add(ts)
' Hide the first column (index 0)
DataGrid1.TableStyles(0).GridColumnStyles(0).Width = 0
End Sub
// Declare a new DataGridTableStyle in the
// declarations area of your form.
DataGridTableStyle ts = new DataGridTableStyle();
private void hideColumn()
// Set the DataGridTableStyle.MappingName property
// to the table in the data source to map to.
ts.MappingName = dataGrid1.DataMember;
// Add it to the datagrid's TableStyles collection
dataGrid1.TableStyles.Add(ts);
// Hide the first column (index 0)
dataGrid1.TableStyles[0].GridColumnStyles[0].Width = 0;
如何:在运行时更改 Windows 窗体 DataGrid 控件中显示的数据
如何:向 Windows 窗体 DataGrid 控件添加表和列