2013-04-04 59 views
0

我有一個dataview有兩列。 A和B 每列都有一個DateTime類型的日期。DataView RowFilter確定DateTime列是否大於另一個DateTime列加上6個月

我想過濾的數據視圖,只顯示行其中一個日期與B日期加6個月

A>(B +6個月)更大

這裏是我有試過沒有成功。

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

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

我讚賞給出的任何幫助。

+0

有沒有辦法做到這一點使用框架2.0的C#? – TheTerribleProgrammer 2013-04-12 12:42:38

回答

0

我不是一個C#專家,但我相信你可以使用LINQ創建數據視圖如下:

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(); 
+0

我用了一些與ron tornambe的評論稍微不同的語法,它讓我在正確的軌道上。感謝您的幫助。 – TheTerribleProgrammer 2013-04-08 09:54:26

+0

有沒有辦法使用框架2.0 c#來做到這一點? – TheTerribleProgrammer 2013-04-12 12:43:23