2010-10-13 46 views
1

我想用一个价格范围过滤数据表。我想删除不在(例如)2和7之间的所有内容。在SQL中,我会这样做:NOT(价格在2到7之间)。但在我的过滤器表达式中,我无法使用关键字'之间'。什么是最好的解决方案?DataTable选择filterexpression而不是'之间'

回答

2

如果您要引用System.Data.DataSetExtensions(这使得LINQ的数据表),可以执行以下操作:

var query = myDataTable.Where(c => !(c.Price >= 2 && c.Price <= 7)); 
var myDataView = query.AsDataView(); // if you want to databind... 
0

你可以尝试像

dt.Select("Price < 2 OR Price > 7") 

只是说的rember

price between 2 and 7 

等于

price >= 2 AND <= 7 

NOT (price between 2 and 7) 

等于

price < 2 OR > 7