日期:2014-05-17  浏览次数:20715 次

求教,datagridview中如何对两个时间字段差值进行filter?
本帖最后由 glistensun 于 2013-06-17 17:06:53 编辑
目前有一个需求,用户要求找出两个时间列差值大于30分钟的记录,我在filter中使用(A-B)> 30分钟,报错说filter中datetime无法使用减号。

虽然可以考虑加一列,但是今后如果这种需求变化的话,很可能就要加更多的列了。真心求教,谢谢!

------解决方案--------------------
为什么要纠结于控件?这种逻辑直接对数据源进行操作,然后把结果重新绑定不就完了吗?

            var query = from x in DataSource
                        where datetime1.Subtract(datetime2).Duration() < new TimeSpan(0, 30, 0)
                        select x;