datatable按时间排序

jiawaziaixialing 2015-04-28 10:18:07
从excel读取数据,因为毫秒用括号扩起来的,需要去掉才能转成datetime类型,去掉毫秒转成datetime放进table,我用dataview的sort功能把时间升序排列,奇怪的是,有一小部分没有排列正确,不知道什么原因
...全文
417 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
sinat_15158113 2015-04-28
  • 打赏
  • 举报
回复
我猜测问题的原因可能是数据放进DataTable中,时间那一列可能并没有认定为是DateTime类型,可能认定为字符型,导致排列出来的结果不正确,你可以试试将DataColumn的DataType属性转化为DataTime类型,如下: dt.Columns["CreatedOn"].DataType = Type.GetType("System.DateTime");
jiawaziaixialing 2015-04-28
  • 打赏
  • 举报
回复
datatable排序该怎么弄
  • 打赏
  • 举报
回复
那你就把datatable排序呗 支持T-Sql
jiawaziaixialing 2015-04-28
  • 打赏
  • 举报
回复
把table的列类型改成了datetime,转换也都是datetime后才对了,MLGB的
於黾 2015-04-28
  • 打赏
  • 举报
回复
看看datagridview的那一列,type是什么,是时间类型吗 不要先填充成string类型,然后去修改它 那样它就默认是字符串类型了 你之后再给它填充时间类型的数据,也会强制转换成字符串类型
jiawaziaixialing 2015-04-28
  • 打赏
  • 举报
回复
给 的方法都试了,是转成datetime才放进table表的,排出来日期是对的,时间却不对,弄的我莫名奇妙
於黾 2015-04-28
  • 打赏
  • 举报
回复
不用去掉也可以转 如下 string s="2015-01-01 08:00:00{165}"; DateTime dt=DateTime.ParseExact(s,"yyyy-MM-dd HH:mm:ss{fff}",null); 问题是你放进datatable里的时候就应该是时间类型的变量,而不是把它ToString之后再放进去

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧