2015-07-03 32 views
0

我開發了由連接到同一網絡的多個計算機上運行的程序,並且如一些這些計算機採用不同的日期時間格式,我轉換的輸出日期時間爲字符串,以便使用所述標準化它英國格式(日/月/年):mm:ss)。排序字符串作爲日期時間中的DataGridView

但是,當輸出顯示在DataGridView中時,由於輸出被格式化爲字符串,因此它不會按時間順序排序(最近的應該在最上面),例如:30/06/2015 13:00 :00顯示在03/07/2015 13:00:00之上,因爲'3'是第一個字符串的第一個字符,它大於'0',即第二個字符串的第一個字符。

我的問題是如何設置我的DataGridView按時間順序排序這些字符串?

任何幫助將不勝感激。

+1

你確定你對它們進行排序的'DateTime',而不是作爲一個'string'格式化?你能不能展示你的作品? –

+0

@SonerGönül它被排序爲'string',因爲否則它將失去標準化,這裏是代碼: 'targetTable.Sort(timeStarted,ListSortDirection.Descending);' 'timeStarted'是具有我想要的日期的列我的'DataGridView'排序,並且該列是字符串。 – AlanC92

+0

你不需要轉換爲控制顯示格式 – Plutonix

回答

4

您不應將其轉換爲字符串。您應該只使用日期時間對象,並使用DefaultCellStyle.Format

+0

我Subba饒完全同意。但是,如果dataGridView不受限制,則可以使用簡單的解決方案對字符串列進行特定排序。如果有界限,仍然可以通過定義一個隱藏列來根據特定比較器對項目進行排序,並捕獲用戶操作(單擊排序箭頭)對隱藏列進行排序,而不是按可見列排序。 – Graffito

相關問題