如何在DataView中对DateTime列进行排序?

时间:2011-03-21 07:50:40

标签: c# asp.net gridview dataview

我有一些包含某些列的gridview,我需要按日期列对gridview进行排序。但我无法正确排序。这是我使用的代码:

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

请有人帮助我。

4 个答案:

答案 0 :(得分:3)

答案 1 :(得分:2)

DataView将日期或任何内容存储为字符串类型。因此,当您按字符串排序时。要将其排序为DateTime,您需要在添加任何数据之前将其转换为DateTime,如下所示,

dt.Columns [" Date"]。DataType = Type.GetType(" System.DateTime");

答案 2 :(得分:1)

你是DateTime类型的列,如果没有那么它可能需要。在填充表格之前,请在开始时执行此操作。或者你可以创建一个DateTime类型的第二列并使用它,但它有点乱: - )

答案 3 :(得分:0)

我的代码段有希望显示需要将列设置为typeof(DateTime)才能对其进行正确排序

library(lazyeval)
library(dplyr)
mtcars %>%
    mutate_(v1=interp(~sub('\\s+.*$', '', v), v=as.name(target))) %>% 
    select_(.dots=setdiff(c(names(mtcars), 'v1'), target)) %>%
    setNames(., c(head(names(mtcars),-1), target))