2008-10-14 187 views
6

有没有一种方法可以控制代码中的列。ASP.NET:在gridview中隐藏列

我有一个下拉框选择:每日和周末以及周一,周二,周三,周四,周五,周六,周日的gridview列。 如果用户选择每日我想仅在周一至周五显示列。

可以通过代码进行控制。哦,我在我的网页中使用这个griview,并使用C#完成编码。

帮助!

回答

8

使用Columns属性:

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

在Item DataBound事件处理程序子项中,对于每个网格行,检查“每日”或“周末”的下拉列表,然后在适当情况下将问题列的可见性设置为False或true。

1

可以通过编程方式隐藏或通过索引进入Columns收集并设置Visible属性显示的列。

例如,隐藏在你的GridView的第一列:

theGridview.Columns[0].Visible = false; 
0

这可能是一个麻烦你使用列的索引 - 方便,列属性也接受的名称列,您可以使用该列的Name属性在创建时对其进行设置。这有助于使代码自行记录。

+0

有在列属性没有名称索引,如果有,你可以参考MSDN文档? – 2013-09-25 23:40:31

3

所有这些代码片段只有在您将AutoGenerateColumns设置为false时才有效。如果您使用的是AutoGeneratedColumns,那么您必须循环每行并隐藏适当的单元格。

感谢

+0

感谢您指出这一点。我见过的所有其他答案都忽略了这一点,这是一个重要的区别,您的回答为我节省了一些时间。 – 2014-01-31 17:28:57