【发布时间】:2009-05-08 07:49:57
【问题描述】:
假设我有一个数据网格,我需要找到数据网格中的行数和列数。如何在 C# 中做到这一点?
【问题讨论】:
假设我有一个数据网格,我需要找到数据网格中的行数和列数。如何在 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;
【讨论】:
DataGrids 代表实际的 DataItems。
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,然后从那里获取您需要的信息。
【讨论】: