Как отфильтровать DataTable по значениям, не содержащимся в массиве? - PullRequest
2 голосов
/ 21 февраля 2012

Если у меня есть DataTable userwidget, который имеет следующие столбцы:

process_id, emp_num, widget_color

Как отфильтровать это DataTable, используя LINQ в соответствии со следующими условиями:


1- ГДЕ emp_num = ...

2- И process_id NOT IN (process)//process is an array of intgers

Ответы [ 2 ]

4 голосов
/ 21 февраля 2012
var filtered = (from row in tbl.AsEnumerable()
               where row.Field<int>("emp_num")==yourNum
               && !process.Contains(row.Field<int>("process_id"))
               select row).CopyToDataTable();
1 голос
/ 21 февраля 2012

Использование, where <list>.Contains( <item> )

 var lstprocessid = {1, 2, 3};
  var   rows =
        (from datatable in dtDetails.AsEnumerable()
          where !lstprocessid.Contains(int.parse((datatable["process_id "]).ToString())
              &&  int.parse((datatable["emp_num"]).ToString())== myemp_num     
                     select datatable).ToList<DataRow>();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...