如何在 DataView 中对日期时间列进行排序?
我有一个包含一些列的网格视图,我需要按日期列对网格视图进行排序。但我无法正确排序。这是我使用的代码:
dt.DefaultView.Sort = "Meldingsdatum asc";
gvOutlookMeldingen.DataSource = dt;
gvOutlookMeldingen.DataBind();
请有人帮助我。
I have a gridview with some columns and I need to sort the gridview by a date-column. But I fail in sorting it correctly. This is the code that I use:
dt.DefaultView.Sort = "Meldingsdatum asc";
gvOutlookMeldingen.DataSource = dt;
gvOutlookMeldingen.DataBind();
Can someone help me, please.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
http://forums.asp.net/p/1267353/2393006.aspx
http://forums.asp.net/p/1267353/2393006.aspx
DataView 将日期或任何内容存储为字符串类型。因此,当您对它进行排序时,它是按字符串排序的。要将其排序为 DateTime ,您需要在添加任何数据之前将其转换为 DateTime,如下所示:
dt.Columns["Date"].DataType = Type.GetType("System.DateTime");
DataView stores date or anything as string type. Thus when you sort it sort by string. To sort it as DateTime , you need to convert it to DateTime before adding any data as follows,
dt.Columns["Date"].DataType = Type.GetType("System.DateTime");
我的代码片段希望显示需要将列设置为 typeof(DateTime) 才能正确排序
My code snippet hopefully shows the need to set the column as typeof(DateTime) before you can sort it properly
您的列是 DateTime 类型吗?如果不是,那么可能需要是。在填充表之前,请在开始时执行此操作。或者,您可以创建 DateTime 类型的第二列并使用它,但这有点混乱:-)
Is you column of type DateTime, if not then it probably needs to be. Do this right at the start before you populate the table. Alternatively you could create a second column of type DateTime and use that but it's a little messy :-)