Предположим, у меня есть сетка данных, мне нужно найти количество строк и столбцов в сетке данных. Как я могу сделать это на С#?
Количество строк и столбцов сетки данных в С#
Ответы (3)
Свойство DataGrid.Items возвращает DataGridItemCollection, представляющее DataGridItems в DataGrid.
Каждый 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 представляют собой фактические элементы данных.
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, и взять оттуда необходимую информацию.