c# - C# 数据表排序日期 DESC
问题描述
我在绑定到 dt_pdc 的数据网格中显示项目列表。DueDate 列显示支票的日期,如日、月和年。当我使用降序排序时,它会执行以下操作:日期列表和顺序:1---4/18/2020 2---4/2/2020 3---4/22/2020
当一天的第一个数字小于另一天的第一个数字时,它首先被排序,在示例中,4 月 18 日在 4 月 2 日之前,但是 4 月 22 日在 4 月 2 日之后。
有什么我可以在排序视图中修复的,还是我必须在数据库中将它写为 02 而不是 2。
dt_pdc.Columns.Add("ID");
dt_pdc.Columns.Add("ChequeNumber");
dt_pdc.Columns.Add("DueDate");
dt_pdc.Columns.Add("Amount");
dt_pdc.Merge(Database.Accounts.Cheques.getPDCChequesSearch(dt_pdc));
dt_pdc.DefaultView.Sort = "DueDate ASC";
解决方案
还是我必须在数据库中将其写为 02
不,这只会加剧错误(如果您不相信我,请等到您在元旦收到紧急支持电话);基本上:停止将日期存储为字符串;将它们存储为日期- 即DateTime
;那么一切都会正常工作。如果您string
出于某种原因绝对必须使用(这需要一个很好的理由),请考虑使用 ISO8601 格式,即将其存储为"2020-04-02"
; 然后它可以自然地作为字符串排序,而且它是明确的(毫无疑问这是 4 月 2 日还是 2 月 4 日)。
推荐阅读
- php - PHP数组从用户输入改变字体颜色
- python-3.x - 如何使用 python 中的换行符读取用户输入,打印为新行?
- c# - 使用动作
对于一个事件 - google-bigquery - 解析列中具有动态键的 JSON 值并将 JSON 转换为 BigQuery 中的记录列结构
- c# - 将 DateTime 更新到数据库会引发 SqlTypeException - SqlDateTime 溢出
- excel - 在刀片视图中查看 excel 文件的最佳方式
- ruby - 现有文本字段的 Rails 操作文本
- android - 不使用多部分发送文件
- getstream-io - 尝试订阅 getStream Websocket 时出现错误
- sass - 如何使用@mixin 在scss 中添加动态字体速记属性?