首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将IEnumerable<DataRow>转换为EnumerableRowCollection<DataRow>或DataView

将IEnumerable<DataRow>转换为EnumerableRowCollection<DataRow>或DataView
EN

Stack Overflow用户
提问于 2015-08-27 14:08:11
回答 2查看 8.5K关注 0票数 1

我怎样才能resultEnumerableRowCollection<DataRow>DataView

代码语言:javascript
复制
DataTable table1 = /*something*/ ;
DataTable table2 = /*something*/ ;
DataTable table3 = /*something*/ ;

IEnumerable<DataRow> result = (from t1 in table1.AsEnumerable() join 
                                    t2 in table2.AsEnumerable() on t1.Field<int>("id") equals t2.Field<int>("t1id") join
                                    t3 in table3.AsEnumerable() on t2.Field<int>("t3id") equals t3.Field<int>("id")
                               where 666.Equals(t3.Field<int>("id"))
                              select t1);

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-08-27 16:26:13

正如乔恩·斯基特所说:

代码语言:javascript
复制
DataTable table1 = /*something*/ ;
DataTable table2 = /*something*/ ;
DataTable table3 = /*something*/ ;

DataTable result = (from t1 in table1.AsEnumerable() join 
                                    t2 in table2.AsEnumerable() on t1.Field<int>("id") equals t2.Field<int>("t1id") join
                                    t3 in table3.AsEnumerable() on t2.Field<int>("t3id") equals t3.Field<int>("id")
                               where 666.Equals(t3.Field<int>("id"))
                              select t1).CopyToDataTable<DataRow>();

如果您想要一个DataView:

代码语言:javascript
复制
DataTable table1 = /*something*/ ;
DataTable table2 = /*something*/ ;
DataTable table3 = /*something*/ ;

DataView result = (from t1 in table1.AsEnumerable() join 
                                    t2 in table2.AsEnumerable() on t1.Field<int>("id") equals t2.Field<int>("t1id") join
                                    t3 in table3.AsEnumerable() on t2.Field<int>("t3id") equals t3.Field<int>("id")
                               where 666.Equals(t3.Field<int>("id"))
                              select t1).CopyToDataTable<DataRow>().AsDataView();
票数 1
EN

Stack Overflow用户

发布于 2020-04-10 21:57:56

来自.NET文档这里

代码语言:javascript
复制
DataTable orders = dataSet.Tables["SalesOrderHeader"];

EnumerableRowCollection<DataRow> query =
    from order in orders.AsEnumerable()
    where order.Field<bool>("OnlineOrderFlag") == true
    orderby order.Field<decimal>("TotalDue")
    select order;

DataView view = query.AsDataView();

bindingSource1.DataSource = view;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32251631

复制
相关文章

相似问题

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