DataView.RowFilter在c#中的时间跨度

时间:2016-02-11 07:35:52

标签: c# dataview rowfilter

我无法在特定时间内使用timepan进行rowfilter。我不想用linq thingie解决方案..

dv.RowFilter = "timeField = '11:00:00'";

是否有任何符号表示时间,如数据时间? e.g。

dv.RowFilter = "datetimeField = #12/31/2002#";

2 个答案:

答案 0 :(得分:1)

根据以下链接的帖子:
https://social.msdn.microsoft.com/Forums/en-US/079eb08f-80e2-4d3b-8b8c-8d2027fde370/timespan-data-type-in-datatableselect?forum=adodotnetdataset

将TimeSpan转换为字符串是" PT11H ??????????????"数字11是小时。我还不知道在字符串中放置的分钟和秒数。

所以我的代码写得像这样

dv.RowFilter = "Convert(timeField, System.String) LIKE 'PT11H%'";

答案 1 :(得分:0)

  

它会触发此异常'无法解释令牌':'在第45位。'

听起来这个表达式应该是本地化的:

dv.RowFilter = "timeField = '11.00.00'";