Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/307.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# DataView行筛选器确定一个日期时间列是否大于另一个日期时间列加上6个月_C#_Winforms_Datetime_Dataview_Rowfilter - Fatal编程技术网

C# DataView行筛选器确定一个日期时间列是否大于另一个日期时间列加上6个月

C# DataView行筛选器确定一个日期时间列是否大于另一个日期时间列加上6个月,c#,winforms,datetime,dataview,rowfilter,C#,Winforms,Datetime,Dataview,Rowfilter,我有一个dataview,它有两列。 A和B 每列中都有DateTime类型的日期 我想过滤数据视图,只显示A中的日期大于B中的日期加上6个月的行 A>(B+6个月) 这就是我尝试过但没有成功的方法 DataView.RowFilter = "A > System.DateTime(B).AddMonths(6)"; DataView.RowFilter = "A > B.AddMonths(6)"; 我感谢您的帮助。我不是C#专家,但我相信您可以使用Linq创建DataView

我有一个dataview,它有两列。 A和B 每列中都有DateTime类型的日期

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

A>(B+6个月)

这就是我尝试过但没有成功的方法

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

DataView.RowFilter = "A > B.AddMonths(6)";
我感谢您的帮助。

我不是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();

我使用的语法与ron tornambe的评论稍有不同,因为它让我走上了正确的道路。谢谢您的帮助。有没有办法使用Framework2.0c#来实现这一点?