2011-03-21 94 views
1

我想排序日期时间列一个gridview,所以我需要更改列的数据类型无法更改数据类型的列的,一旦有数据

我尝试用下面的代码,但我得到的错误:

dt.DefaultView.Table.Columns["Meldingsdatum"].DataType = Type.GetType("System.DateTime"); 

dt.DefaultView.Sort = "Meldingsdatum asc"; 
gvOutlookMeldingen.DataSource = dt; 
gvOutlookMeldingen.DataBind(); 
+0

为什么源数据中的列不是以“DateTime”开始? – 2011-03-21 08:23:46

+0

你可以点击datetimeheader,它会排序asc和desc ... – Crimsonland 2011-03-21 08:24:44

+0

它不会将它排序为日期时间,而是以字符串形式排序。因此,我必须更改它的类型并将其作为日期时间排序 – SamekaTV 2011-03-21 08:27:03

回答

1

错误消息告诉你一切你需要知道在这里; 要么(和首选)使列a DateTime最初(并且重要的是:在加载数据之前)或绕过它。我的意思是说,可能会增加一个第二个列(DateTime),并推动数据跨越 - 低效率和额外的工作,没有什么好的理由。