如何从另一个数据表中获取通过几个列值过滤的子集数据表?

2024-04-01

我遇到的问题是,我的搜索条件是:

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

换句话说,经过我的研究,我发现了一些关于DefaultView of the DataTable and RowFilter, but Rowfilter似乎仅按一个值进行过滤。

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

Thanks


你可以使用Linq-To-DataTable以及要排除的值的集合。

查询语法:

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();

方法语法:

result = dataTable.AsEnumerable()
    .Where(r => !exclude.Contains(r.Field<string>("colName")))
    .CopyToDataTable();
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从另一个数据表中获取通过几个列值过滤的子集数据表? 的相关文章

随机推荐