DataView RowFilter确定DateTime列是否大于另一个DateTime列加上6个月

时间:2013-04-04 17:11:50

标签: c# winforms datetime dataview rowfilter

我有一个包含两列的数据视图。 A和B. 每列的日期都是DateTime。

我想过滤数据视图,只显示A中的日期大于B中的日期加上6个月的行

A> (B +6个月)

这是我尝试过但没有成功。

DataView.RowFilter = "A > System.DateTime(B).AddMonths(6)";

DataView.RowFilter = "A > B.AddMonths(6)";

我感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

我不是C#专家,但我相信您可以使用Linq创建DataView,如下所示:

DataTable dt = new DataTable("MyTable"); // example data container

...

DataView dv = (from d in dt.AsEnumerable() where ((DateTime)d["A"]) > ((DateTime)d["B"]).AddMonths(6) select d).AsDataView();