2010-05-21 42 views
0

我有一個自定義的DGV單元格我用來顯示MyType對象的內容。爲了控制它們的格式,我重寫了DataGridViewTextBoxCell的GetFormattedValue()FormattedvalueType方法,因爲在這種情況下,我不想使用默認的ToString()方法。問題是,當我這樣做時,DGV正在按照FormattedValue中的字符串而不是按值排序列。自定義DataGridView列的排序基於價值沒有格式化值

我沒有看到一個方法,我可以覆蓋更改列的排序行爲。雖然我知道我可以,但我不想爲自己的DGV編寫自定義排序方法,因爲我在多個DGV中使用了此方法。

回答

1

你手動填充DGV,或使用數據綁定?

在前一種情況下,您可以處理SortCompare事件,如SwDevMan81發佈的鏈接中所述。

在後一種情況下,請確保您的MyType類實現IComparable。該實施將由DGV用於對數據進行排序。