我在将 RowFilter 应用于 DataGridView 时遇到问题。我确实需要使用 IN
和 NOT IN
应用 RowFilter。
例子:
custId in (select custId from loginDetails where date = '01/11/2010')
注意:我的网格最初加载了 CustMaster
表中的所有客户详细信息。我需要的是过滤今天登录的客户的登录详细信息。字段 custId
也是动态的。
这可能吗?
如果有任何替代方案,请提供帮助。
使用 LINQ 怎么样?
//1. Pick all of those that you do not want in your code.
//2. Select those that you want.
var result = from record in dtLoginDetails.AsEnumerable()
where //2. Select all records.
(!( //Remove the ! sign to use IN/NOT IN
(from custID in dtLoginDetails.AsEnumerable()
where custID.Field<string>("author").StartsWith("C") //1. Select those records that are unwanted.
//Note that, in your case you can add it like
//unwanted.Field<DateTime>("Date") = DateTime.Now.Date
select custID.Field<string>("author")
)
.Contains(record.Field<string>("author"))
)
)
select record;
//Cast as DataView
DataView view = result.AsDataView();
我是一名优秀的程序员,十分优秀!