排序的DataGridView我有一個綁定到被綁定到一個DataSet
一個BindingSource
DataGridView
。對於大多數列,默認的排序順序沒問題,但對於其中一列,顯示的數據不適合排序,並且我在DataSet
中有一個隱藏的計算列SortCol
,以便爲該列做出更好的排序。通過隱藏列
問題是,SortCompare
,其中我有代碼重定向排序SortCol
不會被調用。我一直在谷歌搜索幾個小時,似乎每個人都說SortCompare
DataSource
屬性設置爲DataGridView
- 它期望約束DataSource
執行排序時不使用SortCompare
- 然後主題被刪除,沒有任何關於如何實際執行排序的建議。
我查看了BindingSource
和DataSet
,我沒有看到任何公開的接口用於自定義排序。我一切都會設法推出我自己的BindingSource
來做到這一點,但我希望有一種方法可以讓你更輕鬆地做出更直接的事情。
編輯:由於似乎有一些混淆,我想澄清,我不問如何執行DataSet
或甚至在DataGridView
上的初始設置。這是微不足道的。我具體詢問如何將點擊一列標題鏈接到另一列的排序(或者更一般地通過其他標準)。
我現在正在研究是否可以使用Programmatically
設置爲SortMode
,因爲簡單的方法似乎不存在。
UPDATE:沒有骰子 - 使用一個Sort
超載穿隱藏列SortGlyph
,對方給出了一個錯誤:DataGridView control is data-bound. The control cannot use the comparer to perform the sort operation.
UPDATE:除非你設置SortGlyph
後排序由另一列。我想這就是我必須解決的問題。儘管我想我會保持開放以防其他人提出更好的答案供將來參考。