C#中数据网格的行数和列数

8

假设我有一个数据网格,我需要找到数据网格中的行数和列数。如何在C#中实现这个功能?

3个回答

22

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;

5
数据表格(DataGrids)代表实际的数据项。
DataGrid dg = new DataGrid();

dg.Items.Count; //Number of Items...i.e. Rows;
dg.Items[0].Cells.Count; //Number of columns for that Items

+1 读懂我的想法!不过这次,我比你快了几秒钟!:P - Cerebrus

4
首先,回答你的问题:
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,并从中获取需要的信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接