2010-11-11 47 views
2

我正面臨着這樣的問題:需要選擇一種機制,允許用戶隱藏/顯示DataGrid中的列。選擇網格的「可見列選擇器」機制

建議的方法之一是添加一個按鈕(它看起來像一個列標題,但沒有列)。當用戶點擊它時,列的列表出現,用戶可以選擇要隱藏/顯示的列。但是有沒有辦法在網格中有這樣的列(只是一個沒有列作爲例子的頭部 - 你可能會在Mozilla Thunderbird中看到網格)?

另一種不太可能的方式是彈出列表,當鼠標懸停在DataGrid上時出現。但是這個清單很少會被使用。所以,這個閃爍的列表對於最終用戶來說只是一個頭痛的問題。

用鼠標點擊的方法。我只是害怕,他們會被忽視,用戶將有一個艱難的日子,而使用數十列的網格。

對此有何想法?有沒有辦法實現第一種方式,或者有更好的方法來解決這個問題?

也許這樣會更好,如果我只是提供這個神奇的「標題沒有列」的圖片,以避免混淆。

網格中有一個可點擊的列標題,但是它下面沒有列。

dataGrid的滾動條上方有一些區域,它可能是放置此功能的正確位置。但似乎我不能使用它。

回答

0

也許組合的方法 - 標題中的一些(小)x形按鈕隱藏列和彈出列表(以某種方式調用)來恢復它。沒有列的標題...這很奇怪,如果它們有很多,它還是很陌生。

編輯:您需要自定義標題項目渲染器。如果它呈現最後一個標題(應該能夠通過「所有者」屬性和列信息確定),它將顯示列選擇按鈕。否則,它顯示按鈕以隱藏列。

+0

我提供了一些細節,使其更清楚.. >不知何故調用 這就是我正在尋找..謎「不知何故」) >如果有很多人 不 - 不..只是中1 ..我希望這幅圖可以消除這種誤解。 – Antenka 2010-11-11 14:25:01

+0

它可以在數據網格控件上創建。當然,它會封閉標題的一部分,所以標題必須爲此而調整。不是很乾淨的解決方案,但很簡單(如果你可以處理標題)。 – alxx 2010-11-11 14:37:56

+0

或者使其成爲最後一個標題的一部分(無論如何您都必須更改標題)。 – alxx 2010-11-11 14:40:34