在我的ObjectListView
我有一個日期格式的列,使用{0:d/M HH:mm}
作爲日期格式。當我點擊列標題時,它按數字排序,而不是按日期排序,例如ObjectListView日期排序
1/2/2013
2/10/2013
3/1/2013
而不是
2/10/2013
1/2/2013
3/1/2013
如何設置這個正確?
在我的ObjectListView
我有一個日期格式的列,使用{0:d/M HH:mm}
作爲日期格式。當我點擊列標題時,它按數字排序,而不是按日期排序,例如ObjectListView日期排序
1/2/2013
2/10/2013
3/1/2013
而不是
2/10/2013
1/2/2013
3/1/2013
如何設置這個正確?
默認情況下,ObjectListView使用字符串數據類型進行排序。嘗試使用顯式數據類型此列在你的代碼,例如:
olvColumn.DataType = typeof (DateTime);
或者添加自定義排序像in this question
感謝維克多,這沒有工作 – user1320651
這是不正確的。 ObjectListView將按列中數據類型的本機排序進行排序。程序員不需要做任何事情來做到這一點 – Grammarian
我無法重現您的問題。我的ObjectListView
(版本2.6.0)正確排序日期。
事實上,儘管what @Victor says,on the documentation you can read:
行當用戶點擊列標題ObjectListView將自動排序。此排序理解列的數據類型,因此根據數據類型排序始終是正確的。排序不使用字符串表示。
並無在ObjectListView專家,猜:你需要使用.SortListItemsBy(cmpFunc,升=無),並使用格式化日期作爲源(年月日) –