2012-03-22 67 views
1

我有一个gridview,我从我的数据库连接,然后将数据绑定到我的网格创建一个DataTable填充该表填充它。我没有使用自动生成列,但我正在使用autogenerate select。通过搜索,我发现了这个建议。隐藏GridView的列在asp.net 2.0

gridview.Columns[index].Visible=false; 

,当我加入这行,我得到一个指标,当我在我的web应用程序点击按钮抛出范围异常。

我用这条线后,我必将我的DataTable到GridView,但我想隐藏用于不同目的的行,所以我需要不断从我的存储过程的信息。

我也试过手动添加列与<columns>选项,但它只是增加了对现有的顶部列。

我是一个新的网络编程和取出自动生成选择是一个选项,但没有帮助我,我不得不花费大量的时间重新编码表我的选择行功能没有。到目前为止,我读过的所有内容都处理了自动生成列问题,但我没有使用它,并且如果自动生成选择导致相同的问题。我可能别无选择。

+0

它仍然NOCH清楚什么是真正的* *的问题是。 – 2012-03-22 21:48:29

+0

对不起,我没有添加,我得到索引超出范围错误。我改变了我的问题来反映这一点。我基本上需要能够在gridview中隐藏一行。如果它仍然不清楚,我会尝试发布我的一些代码。 – 2012-03-22 22:02:00

+0

之前,你要编辑你的问题,是什么_hide一个row_的意思是,应该把它呈现给客户端'显示:none'或没有('可见= FALSE')?你是否需要在客户端访问它的控件?请注意,您始终可以在服务器上访问控件及其值,即使它们不可见也是如此。您还应该在试图隐藏该行的位置显示您的按钮单击处理程序。 – 2012-03-22 22:04:16

回答

0

因为我没有意识到的AutoGenerateColumns是默认设置为true,这个特殊的问题。无论是默认还是因为我使用了AutogenerateSelect控件,我并不完全确定,但我的修补程序是将AutogenerateColumns显式设置为False,然后从控件中的列元素填充网格。感谢梅洛你的回复你让我得到了我需要的答案。