Sorting ASP.NET GridView无法对作为字符串传递的日期进行排序
您好,我正在构建一个站点,该站点的gridview具有AutoGenerateColumns=True,我遇到的问题是使用dataview的排序条件不能正常工作。如果gridview上已显示以下记录:Sorting ASP.NET GridView无法对作为字符串传递的日期进行排序,sorting,date,gridview,Sorting,Date,Gridview,您好,我正在构建一个站点,该站点的gridview具有AutoGenerateColumns=True,我遇到的问题是使用dataview的排序条件不能正常工作。如果gridview上已显示以下记录: 名称地址日期(年月日) Julio XYZAustralia12/25/2010 David 1234新西兰2010年12月26日 Erika 5555新加坡2011年12月14日 如果我这样做排序: Dim dt As DataTable = Me.GetDataTable(Me.GetQu
- 名称地址日期(年月日)
- Julio XYZAustralia12/25/2010
- David 1234新西兰2010年12月26日
- Erika 5555新加坡2011年12月14日
Dim dt As DataTable = Me.GetDataTable(Me.GetQuery(Sentence, params))
Dim dv As DataView = dt.DefaultView
dv.Sort = SortExpression & " " & SortDirection
gv.DataSource = dv
gv.DataBind()
网格中的结果是:
- 名称地址日期(年月日)
- Erika 5555新加坡2011年12月14日
- Julio XYZAustralia12/25/2010
- David 1234新西兰2010年12月26日
感谢您提前提出任何建议。首先,我想确认您的日期是否为DateTime类型,如果是 请尝试以下样品,希望这些能帮助你
Dim dt As DataTable = Me.GetDataTable(Me.GetQuery(Sentence, params))
dt.DefaultView.Sort = "Date ASC" ''Sort with Asc.
gv.DataSource = dt
gv.DataBind()
它没有失败排序更正lt。您给了它一个字符串和标准字符串排序2011年12月14日<2010年12月25日。一旦您将其转换为字符串,它就不再是一个日期。要么传入一个日期,然后依靠网格根据运行应用程序的应用程序/用户/计算机的设置对其进行格式化。要么看看是否可以转换回日期在sort表达式中,使用acast或converter谢谢您的回答,但是如果列是自动生成的,我如何告诉网格,该列将是一个日期值和它自己的格式?您说过它是作为字符串传递的,所以问题应该只是找出在哪里完成并作为日期传递。