2009-11-18 61 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)