如何从由几列值筛选其他DataTable的一个子集的DataTable? [英] How to get a subset DataTable from another DataTable filtered by few column values?

查看:452
本文介绍了如何从由几列值筛选其他DataTable的一个子集的DataTable?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的问题是,我的搜索标准是:

The problem I have is, my search criteria is:

Row["colName"] != "abc"  AND 
Row["colName"] != "def"  AND 
Row["colName"] != "ghic"  AND 
Row["colName"] != "klm"  AND
Row["colName"] != "xyz"  AND 
Row["colName"] != "mnp"  etc..

换句话说,我的研究后,我发现了一些关于默认视图 DataTable的的RowFilter ,但的RowFilter 似乎只有一个值过滤。

in other words, after my research I found something about DefaultView of the DataTable and RowFilter, but Rowfilter seems to filter only by one value.

我的情况是我需要一堆值进行过滤。

My situation is I need to filter by a bunch of values.

感谢

推荐答案

您可以使用 LINQ到数据表和值的集合排除。

You could use Linq-To-DataTable and a collection of values to exclude.

查询语法:

string[] exclude = { "def", "ghic", "klm", "xyz", "mnp" };
var filteredRows = from row in dataTable.AsEnumerable()
                   where !exclude.Contains(row.Field<string>("colName"))
                   select row;
DataTable result = filteredRows.CopyToDataTable();



方法语法:

Method Syntax:

result = dataTable.AsEnumerable()
    .Where(r => !exclude.Contains(r.Field<string>("colName")))
    .CopyToDataTable();

这篇关于如何从由几列值筛选其他DataTable的一个子集的DataTable?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆