排序日期列gridview

时间:2010-11-05 10:01:11

标签: asp.net vb.net sorting gridview

我有一个自动生成列的gridview。其中一列是日期字段。 不知何故,我无法对日期字段进行排序。它被解释为一个字符串。

数据来自数据库。那里的数据类型是在datetime上设置的。

这是aspx文件中的代码:

<asp:BoundField DataField="date" HeaderText="date" SortExpression="date" DataFormatString="{0:dd/MM/yyyy}" HtmlEncode="false"/>

我在这里做错了什么?

2 个答案:

答案 0 :(得分:5)

我意识到这是一篇相对较老的帖子,但我自己也在寻找解决方案。我想出来了。

如果Date被填充为字符串,那么您需要确保它不是。要执行此操作DataTable 创建表格数据,并在添加数据时使用:

dt.Columns.Add("DateTime", System.Type.GetType("System.DateTime"));

按照您的意愿对日期列进行排序。

答案 1 :(得分:0)

格式化值时(无论数据类型是什么),结果都是String。对结果的任何操作(例如排序)都使用String。

您应该直接在数据库端对Gridview的数据源进行排序。