2009-11-18 65 views
1

我正在嘗試排序C#窗體應用程序上的DataGridView。在Windows窗體C中按數字或日期對DataGridView排序#

本來我想按日期排序,但是排序時它會像字符串一樣對待它。 實施例:

22/9/2009
14/4/2008
2007/3/12

排序到

14/4/2008
22/9/2009
3/12/2007

因爲它只看第一個字符。 一旦我無法解決這個問題,我嘗試按ID列排序。由於我的數據是按日期存儲的,我想我可以在加載和排序時給他們一個ID,但是同樣的問題會發生。 11在2之前,因爲它開始於1種處理。

任何想法我可以解決這個問題?

這是我在數據讀取代碼:

string[] rowArray = new string[] { arService[0], arService[1], arService[2], arService[3], arService[4], arService[5], arService[6] }; 
dgvSubmissions.Rows.Add(rowArray); 

該陣列從一個逗號分隔的文本文件和拆分讀入。

這是我的新代碼,但它仍然提供相同的結果。我現在做錯了什麼?

int n = dgvSubmissions.Rows.Add(); 
    dgvSubmissions.Rows[n].Cells[0].Value = arService[0]; 
    dgvSubmissions.Rows[n].Cells[1].ValueType = typeof(DateTime); 
    dgvSubmissions.Rows[n].Cells[1].Value = arService[1]; 
    dgvSubmissions.Rows[n].Cells[2].Value = arService[2]; 
    n++; 

回答

3

您的數據是string。將它們轉換爲DateTime

DateTime.Parse(s)