データグリッドがあると考えてください。データグリッド内の行と列の数を見つける必要があります。 C#でこれを行うにはどうすればよいですか?
DataGrid.Items
プロパティは、DataGridのDataGridItemCollection
を表すDataGridItems
を返します。
各DataGridItem
は、レンダリングされたテーブルの1つの行を表します。また、DataGridItem
は、番号を表すCells
プロパティを公開します。レンダリングされたテーブル内のテーブルセル(つまり、列)の数。
int rowCount = myGrid.Items.Count;
// Get the no. of columns in the first row.
int colCount = myGrid.Items[0].Cells.Count;
DataGridは、実際のDataItemを表します。
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
)を見て、そこから必要な情報を取得することです。