C# DataView行筛选器确定一个日期时间列是否大于另一个日期时间列加上6个月
我有一个dataview,它有两列。 A和B 每列中都有DateTime类型的日期 我想过滤数据视图,只显示A中的日期大于B中的日期加上6个月的行 A>(B+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.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#来实现这一点?