簡體   English   中英

如何在DataView中對DateTime列進行排序?

[英]How to sort a DateTime-column in DataView?

我有一些列的gridview,我需要按日期列對gridview進行排序。 但是我無法正確排序。 這是我使用的代碼:

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

有人能幫助我嗎。

DataView將日期或任何內容存儲為字符串類型。 因此,當您對它排序時,它按字符串排序。 要將其排序為DateTime,您需要先將其轉換為DateTime,然后再添加以下數據,

您是DateTime類型的列,如果不是,則可能需要。 在填充表格之前,請一開始就執行此操作。 或者,您可以創建第二個類型為DateTime的列並使用它,但這有點混亂:-)

我的代碼段希望顯示在正確排序之前,需要將該列設置為typeof(DateTime)

        EntityCollection result = serviceProxy.RetrieveMultiple(querybyattribute);

        DataTable dt = new DataTable();
        dt.Columns.Add("Title");
        dt.Columns.Add("Created On", typeof(DateTime));

        foreach (Entity entity in result.Entities)
        {
            DataRow dr = dt.NewRow();

            dr["Title"] = entity.Attributes["title"].ToString();
            dr["Created On"] = entity.Attributes["createdon"];

            dt.Rows.Add(dr);
        }

        DataView dv = dt.DefaultView;
        dv.Sort = "Created On desc";
        DataTable sortedDT = dv.ToTable();

        dataGridView1.DataSource = sortedDT;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM