假设我有一个数据网格,我需要找到数据网格中的行数和列数。如何在C#中实现这个功能?
DataGrid.Items
属性返回一个 DataGridItemCollection
对象,它表示 DataGrid 中的 DataGridItems
。
每个 DataGridItem
代表渲染表格中的单个行。同时,DataGridItem
公开了一个 Cells
属性,该属性表示渲染表格中表格单元格 (也就是列) 的数量。
int rowCount = myGrid.Items.Count;
// Get the no. of columns in the first row.
int colCount = myGrid.Items[0].Cells.Count;
DataGrid dg = new DataGrid();
dg.Items.Count; //Number of Items...i.e. Rows;
dg.Items[0].Cells.Count; //Number of columns for that Items
DataGrid dataGrid = new DataGrid();
int rowCount = dataGrid.BindingContext[dataGrid.DataSource].Count;
int rowCount = ((DataTable)this.dataGrid.DataSource).Rows.Count;
int columnCount = ((DataTable)this.dataGrid.DataSource).Columns.Count;
((DataTable)this.dataGrid.DataSource).Columns.Count;
其次,我想要补充的是 System.Windows.Forms.DataGrid
是一个显示小部件控件,而不是记录的容器。没有类似于 DataGrid.Rows.Count
属性或其他类似于查找列数的属性。你需要做的就是看一下 DataGrid 后面的 DataSource
属性,大多数情况下它是一个 DataTable
,并从中获取需要的信息。