2008-10-14 186 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