c# - 如何使用 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 中运行时,它总是先运行最旧的日期
任何建议将不胜感激
谢谢
约旦
解决方案
Receipts.DefaultView.Sort = "Date ASC";
Receipts= Receipts.DefaultView.ToTable();
在这里找到它 - DataTable.DefaultView.Sort 不排序
推荐阅读
- vba - VBA 双倍时间
- linux - 从私人仓库中获取来自 Github 的原始文件
- ruby-on-rails - 如何过滤范围内的特定值,如果有不需要的类型则隐藏?
- wpf - 在 WPF 应用程序中,文件路径未从文本框中的右端显示
- sorting - 字典排序的大文件,内存有限
- python - 在 QSQLTableModel 中格式化值的问题
- html - 是否可以获得以下表格布局(使用行跨度)?
- apache-spark - 消费parquet文件时的Kafka生产者恢复策略
- python - 即使我尝试“结束”代码,Python 代码也会不断重复输入值
- java - JUnit Mockito @InjectMock 一个自动装配的 Sessionfactory Bean