我正在使用
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开始,gridview有12列
答案 0 :(得分:1)
考虑到GridView
有些行不是数据(寻呼机,页脚等)。
我会说你应该有这样的东西,所以你只对DataRow
元素应用隐藏逻辑。
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Cells[0].Visible = false;
e.Row.Cells[1].Visible = false;
}
要查看所有行类型,请检查this MSDN article。
答案 1 :(得分:1)
如果Gridview的autogeneratecolumns = true,则可能需要将代码放入RowCreated
事件而不是RowDataBound
事件。