首页 > 解决方案 > 如何使用 C# 按日期升序对创建的数据表进行排序

问题描述

我正在学习 C# 来帮助我作为 RPA 开发人员的日常工作。因此,我创建了一个带有 DateTime 类型列的数据表,并且我试图将表排序为升序,因为我最终想要提取表中具有以“E”开头的“收据编号”的条目的最新日期。

这是我的代码 DataTable Receipts = new DataTable();

        Receipts.Clear(); 
        Receipts.Columns.Add("Date", typeof(DateTime));
        Receipts.DefaultView.Sort = "Date ";
        Receipts.Columns.Add("Receipt Data", typeof(string));
        DataRow dr = Receipts.NewRow(); 
        dr[0] = "10 January 2021"; 
        dr[1] = "Receipt number is E1039742083";
        Receipts.Rows.Add(dr); 
        dr = Receipts.NewRow(); 
        dr[0] = "11 January 2021"; 
        dr[1] = "Receipt number is not found";
        Receipts.Rows.Add(dr); 
        dr = Receipts.NewRow(); 
        dr[0] = "11 January 2021"; 
        dr[1] = "Receipt number is F1039742083";
        Receipts.Rows.Add(dr); 
        dr = Receipts.NewRow(); 
        dr[0] = "12 January 2021"; 
        dr[1] = "Receipt number is E1039742083";
        Receipts.Rows.Add(dr); 
        dr = Receipts.NewRow(); 
        dr[0] = "12 January 2021"; 
        dr[1] = "Receipt number is not found";
        Receipts.Rows.Add(dr); 
        Receipts.DefaultView.Sort = "Date ASC";
        foreach (DataRow datarow in Receipts.Rows)
        {
            foreach (var item in datarow.ItemArray)
                Console.WriteLine(item);
        } }

但这行似乎不起作用 Receipts.DefaultView.Sort = "Date ASC"; 当它在 Visual Studio 中运行时,它总是先运行最旧的日期

任何建议将不胜感激

谢谢

约旦

标签: c#datedatatable

解决方案


Receipts.DefaultView.Sort = "Date ASC";
Receipts= Receipts.DefaultView.ToTable();

在这里找到它 - DataTable.DefaultView.Sort 不排序


推荐阅读