首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用多个DataSet过滤整个DataTables

使用多个DataSet过滤整个DataTables
EN

Stack Overflow用户
提问于 2013-04-30 15:52:54
回答 2查看 149关注 0票数 2

我有一个包含多个DataSet的DataTables,每个DataTables都包含多个列和一个列buildingID。我希望通过为DataSet提供一个值来过滤整个buildingID。我希望中的每个表中的行都有一个buildingID值,比如343。

在C#中有什么快速可行的方法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-04-30 15:57:35

您可以使用DataTable.Select,它从匹配条件的DataTable返回筛选过的行。

代码语言:javascript
运行
复制
foreach (DataTable table in dataset.Tables) {
    var rows = table.Select("buildingID = " + buildingId.ToString());
    // Do stuff with filtered rows
}

为了轻松地获得符合条件的所有行,下面是一个LINQ表达式:

代码语言:javascript
运行
复制
var rows = dataset.Tables.SelectMany(
    t => t.Select("buildingID = " + buildingId.ToString()));
票数 3
EN

Stack Overflow用户

发布于 2013-04-30 15:58:19

那这个呢?

代码语言:javascript
运行
复制
var ds1 = new DataSet();
foreach (DataTable dt in ds1.Tables)
{
    var filtereddt = dt.AsEnumerable().Where(row => row.Field<int>("buildingID") == 1).ToList();

    //you can add these lists to another list array or something like that.
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16304035

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档