注释
DataGridView 控件替换并添加 DataGrid 控件的功能;但是,如果选择,则保留 DataGrid 控件以实现后向兼容性和将来使用。 有关详细信息,请参阅 Windows 窗体 DataGridView 控件与 DataGrid 控件之间的区别。
可以通过创建 DataGrid 对象并将其添加到 控件的TableStyles 属性中的 DataGrid 对象,从而以表格和列的形式显示 Windows 窗体 控件中的数据。 每个表样式显示 DataGridTableStyle 对象的 MappingName 属性中指定的任何数据表的内容。 默认情况下,没有指定列样式的表样式将显示该数据表中的所有列。 可以通过将 DataGridColumnStyle 对象添加到 GridColumnStylesCollection 对象来限制表中显示的列,该对象通过每个 DataGridTableStyle 对象的 GridColumnStyles 属性进行访问。
以编程方式向 DataGrid 添加表和列
若要在表中显示数据,必须先将 DataGrid 控件绑定到数据集。 有关详细信息,请参阅 教程:将 Windows 窗体 DataGrid 控件绑定到数据源。
谨慎
以编程方式指定列样式时,始终创建 DataGridColumnStyle 对象并将其添加到 GridColumnStylesCollection 对象,然后再将 DataGridTableStyle 对象添加到 GridTableStylesCollection 对象。 向集合中添加空 DataGridTableStyle 对象时,将自动生成 DataGridColumnStyle 对象。 因此,如果尝试将具有重复 MappingName 值的新 DataGridColumnStyle 对象添加到 GridColumnStylesCollection 对象,将引发异常。
声明新表样式并设置其映射名称。
Dim ts1 As New DataGridTableStyle() ts1.MappingName = "Customers"
DataGridTableStyle ts1 = new DataGridTableStyle(); ts1.MappingName = "Customers";
DataGridTableStyle* ts1 = new DataGridTableStyle(); ts1->MappingName = S"Customers";
声明新列样式并设置其映射名称和其他属性。
Dim myDataCol As New DataGridBoolColumn() myDataCol.HeaderText = "My New Column" myDataCol.MappingName = "Current"
DataGridBoolColumn myDataCol = new DataGridBoolColumn(); myDataCol.HeaderText = "My New Column"; myDataCol.MappingName = "Current";
DataGridBoolColumn^ myDataCol = gcnew DataGridBoolColumn(); myDataCol->HeaderText = "My New Column"; myDataCol->MappingName = "Current";
调用 GridColumnStylesCollection 对象的 Add 方法,将列添加到表格样式
ts1.GridColumnStyles.Add(myDataCol)
ts1.GridColumnStyles.Add(myDataCol);
ts1->GridColumnStyles->Add(myDataCol);
调用 GridTableStylesCollection 对象的 Add 方法,将表样式添加到数据网格。
DataGrid1.TableStyles.Add(ts1)
dataGrid1.TableStyles.Add(ts1);
dataGrid1->TableStyles->Add(ts1);