加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 在DataGridView中对日期进行排序

发布时间:2020-12-15 23:45:52 所属栏目:百科 来源:网络整理
导读:我正在使用sqlDataReader从SQL表中提取不同的信息. 其中一列包含DateTime,并从sql中提取并正确显示,使用: var datestring = reader.GetDateTime(reader.GetOrdinal("deadline")).ToShortDateString(); 它以下列格式显示在DataGridView中:dd.MM.yyyy 当我尝
我正在使用sqlDataReader从SQL表中提取不同的信息.
其中一列包含DateTime,并从sql中提取并正确显示,使用:

var datestring = reader.GetDateTime(reader.GetOrdinal("deadline")).ToShortDateString();

它以下列格式显示在DataGridView中:dd.MM.yyyy

当我尝试对此进行排序时,无论MM和yyyy信息是什么,它都会在dd之后对其进行排序.

使用以下命令将datestring放入datagridview:

dgv_tasks.Rows.Add(tid,taskname,sidvariable,datestring);

任何人都知道为什么它没有将它作为日期排序,只是dd中的数字?

(我在这里寻找答案,但没有一个类似的问题有一个有效的答案).

解决方法

您希望将其保留为DataGridView中的DateTime,而不是将其转换为字符串.这就是为什么它按字母顺序排序,而不是按日期排序.

删除.ToShortDateString()并将DataGridViewColumn定义为DateTime类型(假设您手动创建列).

将数据分配给DataGridView后,只需修改该列的DefaultCellStyle.Format值,即可以您选择的方式显示日期:

dgv_tasks.Columns["deadline"].DefaultCellStyle.Format = "dd.MM.yyyy";

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读