ASP.NET:在GridView中隐藏列

6

有没有一种方法可以从代码中控制列。

我有一个下拉框,里面有选项:日常和周末,还有一个网格视图列,包括星期一、二、三、四、五、六、日。如果用户选择了日常,我希望只显示星期一到星期五的列。

从代码中控制是可能的。哦,我在我的网页中使用了这个网格视图,并且使用C#进行编码。

求助!

5个回答

8

使用Columns属性:

GridView1.Columns[5].Visible = false
GridView1.Columns[6].Visible = false

3
所有这些代码片段仅在您将AutoGenerateColumns设置为false时才起作用。如果您正在使用AutoGeneratedColumns,则必须循环每一行并隐藏相应的单元格。
谢谢。

谢谢您指出这一点。我看到的所有其他答案都忽略了这一点,而这是一个重要的区别,您的答案为我节省了一些时间。 - Unknown Coder

1
在 Item DataBound 事件处理程序子程序中,对于每一行网格,检查下拉列表中是否有“日常”或“周末”,然后根据需要将相关列的可见性设置为 False 或 true。

1

您可以通过编程方式索引到Columns集合并设置Visible属性来隐藏或显示列。

例如,要隐藏GridView中的第一列:

theGridview.Columns[0].Visible = false;

0

使用列的索引可能会让您感到麻烦--方便的是,Columns属性还接受列的名称,您可以在创建时使用列的Name属性进行设置。这有助于使代码自我记录。


Columns属性上没有名称索引器,如果有的话,您能否参考MSDN文档? - David d C e Freitas

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接