2

みんな特定の列ヘッダーを持つ列のインデックスを取得しようとしています。今まで私は

int index_of = grid_statement.Columns[the_name].Index;

ただし、NullReference 例外がスローされます。

そのインデックスを取得する他の方法はありますか? (the_name は列ヘッダーを持つ変数です)

4

3 に答える 3

2

これを試してみてください

int index_of = grid_statement.CurrentRow.Cells["ColumnName"].ColumnIndex;
于 2013-09-02T09:53:25.110 に答える
1

データ ソースをバインドする前に列コレクションにアクセスしようとしている可能性があります。現時点で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;
于 2013-09-02T09:48:29.630 に答える