Количество строк и столбцов сетки данных в C#

рассмотрим, что у меня есть сетка данных, мне нужно найти количество строк и coulmns в сетке данных. Как я могу сделать это в C#?

3 ответов


на DataGrid.Items свойство возвращает DataGridItemCollection представление DataGridItems в DataGrid.

каждого DataGridItem является представителем одной строки в готовом стол. Кроме того,DataGridItem предоставляет Cells свойство, которое представляет no. ячеек (другими словами, столбцов) в отображаемой таблице.

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 и принять то, что информация, которая вам нужна оттуда.