0

私は使っている

e.Row.Cells[0].Visible = false;

単一の列を非表示にします。それは機能しますが、次のように別のものを追加しようとすると:

e.Row.Cells[0].Visible = false; 
e.Row.Cells[1].Visible = false; //i tried listing all and still got the out of range error 

エラーが発生しますSpecified argument was out of the range of valid values. Parameter name: index

私は Gridview のRowDataBoundイベントでコマンドを使用しており、0 から始まるグリッドビューには 12 列あります

4

2 に答える 2

1

GridViewデータではない行 (ページャー、フッターなど) があることを考慮してください。

DataRow要素にのみ非表示ロジックを適用するように、このようなものが必要だと思います。

if (e.Row.RowType == DataControlRowType.DataRow)
{
    e.Row.Cells[0].Visible = false; 
    e.Row.Cells[1].Visible = false;
}

すべての行の種類を表示するには、この MSDN の記事を確認してください。

于 2013-10-29T15:36:43.200 に答える