【发布时间】:2011-11-07 18:39:33
【问题描述】:
我有一个 GridView,我将它数据绑定到 Page_Load()。我想隐藏一个它的列,但我仍然想访问它。我试过了
SqlCommand sqlCommand = new SqlCommand("select name,surname,id from test", sqlConnection);
sqlConnection.Open();
SqlDataReader reader = sqlCommand.ExecuteReader();
GridView1.DataSource = reader;
GridView1.DataBind();
GridView1.columns[1].visible= False;
我得到错误索引超出范围。必须是非负数且小于集合的大小。 有任何想法吗?
【问题讨论】:
-
您是否尝试让列宽 = 0?如果您在设置可见性时收到错误消息,则可能是您的数据源没有 3 个字段的问题。请记住,它从索引 0 开始。
-
可能想要显示更多代码 - 特别是,您在何处以及如何对控件进行数据绑定。您看到的错误几乎肯定表明 GridViewTest.columns 在您尝试访问第二个元素时包含零个或一个元素。
-
当您需要做的只是访问数据时,您不应该操作列。这就是数据键的用途。
-
@mikemann 检查我的代码