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

Согласно документации :

В объявлении поля readonly указывает, что присвоение полю может происходить только как часть объявления или в конструкторе в того же класса.

Вы делаете это точно, присваивая внутри конструктора.

Сам список является readonly, а не его содержание.

7
задан palacsint 29 January 2012 в 22:47
поделиться

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;
21
ответ дан 6 December 2019 в 06:04
поделиться

Прежде всего, чтобы ответить на ваш вопрос:

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 , и взять оттуда всю необходимую вам информацию.

4
ответ дан 6 December 2019 в 06:04
поделиться

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
5
ответ дан 6 December 2019 в 06:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: