将RowFilter应用于DataGridView时遇到问题。我确实需要对INNOT 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();

07-25 23:20
查看更多