2013-10-24 85 views
0

在我的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 

如何設置這個正確?

+0

並無在ObjectListView專家,猜:你需要使用.SortListItemsBy(cmpFunc,升=無),並使用格式化日期作爲源(年月日) –

回答

-1

默認情況下,ObjectListView使用字符串數據類型進行排序。嘗試使用顯式數據類型此列在你的代碼,例如:

olvColumn.DataType = typeof (DateTime); 

或者添加自定義排序像in this question

+0

感謝維克多,這沒有工作 – user1320651

+1

這是不正確的。 ObjectListView將按列中數據類型的本機排序進行排序。程序員不需要做任何事情來做到這一點 – Grammarian

0

我無法重現您的問題。我的ObjectListView(版本2.6.0)正確排序日期。

事實上,儘管what @Victor sayson the documentation you can read

行當用戶點擊列標題ObjectListView將自動排序。此排序理解列的數據類型,因此根據數據類型排序始終是正確的。排序不使用字符串表示。