c# - 按自定义格式 DateTime 列对 DataTable 进行排序
问题描述
我有一个包含 2 列的数据表:第一列是城市名称,第二列是日期,我必须按日期升序对其进行排序。
日期的格式是MM/dd/yyyy
,我成功地使用
DataTable.DefaultView.Sort = "Date asc";
但我不得不将格式更改为dd/MM/yyyy
它停止工作。
为了使用这种自定义格式对表格进行排序,我需要做什么?
这是输入
Ploiesti 19/05/2017
Ploiesti 20/05/2017
Ploiesti 21/05/2017
Sinaia 21/05/2017
Sinaia 22/05/2017
Sinaia 23/05/2017
Constanta 12/06/2017
Constanta 13/06/2017
Constanta 14/06/2017
Constanta 15/06/2017
Predeal 20/06/2017
Barsana 11/06/2017
Barsana 11/07/2017
Borsa 22/05/2017
Borsa 22/06/2017
Borsa 22/07/2017
Brasov 30/05/2017
Brasov 30/06/2017
这是我使用 DataTable.DefaultView.Sort 后的输出:
Barsana 11/06/2017
Barsana 11/07/2017
Constanta 12/06/2017
Constanta 13/06/2017
Constanta 14/06/2017
Constanta 15/06/2017
Ploiesti 19/05/2017
Ploiesti 20/05/2017
Predeal 20/06/2017
Ploiesti 21/05/2017
Sinaia 21/05/2017
Sinaia 22/05/2017
Borsa 22/05/2017
Borsa 22/06/2017
Borsa 22/07/2017
Sinaia 23/05/2017
Brasov 30/05/2017
Brasov 30/06/2017
解决方案
您可以尝试使用以下代码使用新格式对数据表进行排序。
代码:
private void button1_Click(object sender, EventArgs e)
{
foreach (DataRow dr in table.Rows)
{
dr["Date"] = DateTime.ParseExact(dr["Date"].ToString(), "dd/MM/yyyy", CultureInfo.InvariantCulture).ToShortDateString();
}
table.DefaultView.Sort = "Date asc";
dataGridView1.DataSource = table;
}
private void Form1_Load(object sender, EventArgs e)
{
table.Columns.Add("Name");
table.Columns.Add("Date");
table.Rows.Add("Ploiesti", "19/05/2017");
table.Rows.Add("Ploiesti", "20/05/2017");
table.Rows.Add("Ploiesti", "21/05/2017");
table.Rows.Add("Sinaia", "22/05/2017");
table.Rows.Add("Sinaia", "19/05/2017");
table.Rows.Add("Constanta", "23/05/2017");
table.Rows.Add("Constanta", "12/06/2017");
table.Rows.Add("Barsana", "13/06/2017");
table.Rows.Add("Brasov", "11/07/2017");
table.Rows.Add("Brasov", "22/07/2017");
dataGridView1.DataSource = table;
}
结果:
推荐阅读
- python - Tkinter - 在下拉列表中选择不同选项时如何更新界面
- c++ - 如何将元函数应用于可变参数模板类的模板类型?
- firemonkey - 将包含重音的项目添加到 TComboBox (FMX)
- java - 关于括号的 Java/Intellij-Idea 问题
- ios - 在 Xcode 的命令行中导出所有本地化
- c# - 屏幕捕获程序复制的区域多于选定区域
- c++ - C++ 有人可以帮我优化这段代码吗?
- java - Spring Boot MVC 在另一个 JSP 文件中包含 JSP 文件
- ajax - Laravel 5.7 Ajax 发布请求返回 419 状态码
- django - 如何在 django 项目中使用 react-router 处理 404 错误