【发布时间】:2012-01-29 13:19:03
【问题描述】:
您好,我正在构建一个具有 AutoGenerateColumns = True 的网格视图的站点,例如,我遇到的问题是使用数据视图的排序条件无法正常工作。如果我在gridview上已经显示了以下记录:
- 姓名 地址 日期 (MM/DD/YYYY)
- Julio XYZ 澳大利亚 2010 年 12 月 25 日
- 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()
网格中的结果是:
姓名 地址 日期(MM/DD/YYYY)
Erika 5555 新加坡 2011 年 12 月 14 日
- Julio XYZ 澳大利亚 2010 年 12 月 25 日
- David 1234 新西兰 2010 年 12 月 26 日
所以问题似乎是排序只考虑日期的一部分,只考虑前五个字符而不是整个字符串。
SortExpression 的值是 Date 的 ColumnName,在数据源中是 CallDate,SorDirection 的值是 ASC
Me.GetDataTable(Me.GetQuery(Sentence,paramas)) 只是一种用数据库中的记录填充数据表的方法。
另一件事,遗憾的是,我无法更改日期的格式,因为这是一种以这种方式呈现的业务需求,而且由于项目的预算,我也不允许使用第三方控件。 :-(
提前感谢您的任何想法。
【问题讨论】:
-
它并没有正确排序失败。你给了它一个字符串和标准类型的字符串 12/14/2011
-
感谢您的回复,但如果列是自动生成的,我如何告诉网格,该列将是日期值和它自己的格式?
-
你说它是作为字符串传递的,所以应该只是找出在哪里完成并将其作为日期传递的问题。