2012-02-21 3 views
2

Если у меня есть DataTable userwidget, которая имеет следующие столбцы:Как фильтровать DataTable значениями, не содержащимися в массиве?

process_id, emp_num, widget_color

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


1- WHERE emp_num = ...

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

ответ

4
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

Привет, красивый мужчина, так хорошо! +1 – Mackintoast

1

Использование, 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>(); 
+0

это 'datatable' .. –

+1

@just_name - проверить обновленный ответ будет делать свою задачу ... и вы можете также добавить другие conction, как вы хотите. ... –

Смежные вопросы