.RowFilter с "IN" и "NOT IN" - PullRequest
       0

.RowFilter с "IN" и "NOT IN"

2 голосов
/ 01 ноября 2010

У меня проблема с применением RowFilter к DataGridView.Мне действительно нужно применить RowFilter с IN и NOT IN.

Пример:

custId in (select custId from loginDetails where date = '01/11/2010')

Примечание. Моя сетка изначально загружена всеми данными клиента из таблицы CustMaster.мне нужно отфильтровать данные для входа в систему клиента, который вошел в систему сегодня.Поле custId также является динамическим.

Будет ли это возможно?

Если есть какая-либо альтернатива, пожалуйста, помогите.

Ответы [ 2 ]

1 голос
/ 01 ноября 2010

Как насчет использования 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();
0 голосов
/ 01 ноября 2010

У меня были проблемы много лет назад (.net v1) с представлениями, не обновляющимися, когда таблицы, используемые IN, изменились. Я не знаю, есть ли проблема в .net Framework в наши дни.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...