在asp.net 2.0中隐藏GridView列

时间:2012-03-22 21:45:19

标签: c# asp.net-2.0

我有一个gridview我通过从数据库连接创建一个数据表填充该表然后将数据绑定到我的网格来填充它。我没有使用自动生成列,但我使用自动生成选择。搜索SO我发现了这个建议。

    gridview.Columns[index].Visible=false;

当我添加此行时,当我单击Web应用程序中的按钮时,我得到一个超出范围异常的索引。

我将DataTable绑定到GridView后使用了该行,但是我想隐藏一行用于其他目的,所以我需要保存来自存储过程的信息。

我还尝试使用<columns>选项手动添加列,但它只是在现有列之上添加列。

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

2 个答案:

答案 0 :(得分:1)

隐藏行需要绑定到OnRowDataBound事件并设置样式。

查看此答案:Hide a gridView row in asp.net

答案 1 :(得分:0)

对于这个特殊问题,我没有意识到AutoGenerateColumns默认设置为true。无论是默认情况还是因为我使用了AutogenerateSelect控件,我都不完全确定,但我的修复方法是将AutogenerateColumns显式设置为False,然后从控件中的columns元素填充网格。感谢mello的回复,你得到了我需要的答案。