みんな特定の列ヘッダーを持つ列のインデックスを取得しようとしています。今まで私は
int index_of = grid_statement.Columns[the_name].Index;
ただし、NullReference 例外がスローされます。
そのインデックスを取得する他の方法はありますか? (the_name は列ヘッダーを持つ変数です)
みんな特定の列ヘッダーを持つ列のインデックスを取得しようとしています。今まで私は
int index_of = grid_statement.Columns[the_name].Index;
ただし、NullReference 例外がスローされます。
そのインデックスを取得する他の方法はありますか? (the_name は列ヘッダーを持つ変数です)
これを試してみてください
int index_of = grid_statement.CurrentRow.Cells["ColumnName"].ColumnIndex;
データ ソースをバインドする前に列コレクションにアクセスしようとしている可能性があります。現時点でgridview
は列はありません。dataSource を割り当ててグリッドをバインドし、列のインデックスを確認します。
grid_statement.DataSource = dataTable;
grid_statement.DataBind();
int index_of = grid_statement.Columns[the_name].Index;
例外を回避するには、最初に列を取得したかどうかを確認してから、そのインデックスを取得する必要があります。
int index_of = -1;
if(grid_statement.Columns[the_name] != null)
index_of = grid_statement.Columns[the_name].Index;