首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将数据集追加到其他数据集

将数据集追加到其他数据集
EN

Stack Overflow用户
提问于 2012-01-04 15:21:07
回答 2查看 77关注 0票数 0

Dataset1

col1 col2

1个月,一个月后

2个月-2个月

3个月-3个月

Dataset2

col1

医生

工程师

程序员

我想要像这样的网格视图。

col1 col2 col3

1%的人是一名健康的医生。

2个月,2个月,2个月。

3个月后,他将成为一个程序员。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-01-04 15:43:55

在您的示例中,您不需要合并2个DataTables

您可以改用linq。

代码语言:javascript
复制
        var datasource = from r1 in table1.AsEnumerable().Select((r, i) => new { Value = r, Index = i })
                         from r2 in table2.AsEnumerable().Select((r, i) => new { Value = r, Index = i })
                         where r1.Index == r2.Index 
                         select new
                         {
                             col1 = r1.Value["col1"].ToString(),
                             col2 = r1.Value["col2"].ToString(),
                             col3 = r2.Value["col1"].ToString(),
                         };

然后,像这样绑定它。

代码语言:javascript
复制
datagridview.datasource = datasource ;
票数 1
EN

Stack Overflow用户

发布于 2014-12-31 18:51:38

如果您希望有两个相关的表,在相同的Dataset中实现这一点是合适的方法。

这是linq方法的替代方法。

为此,您必须使用DataRelation http://msdn.microsoft.com/es-es/library/system.data.datarelation%28v=vs.110%29.aspx

当然,您必须创建一个ForeignKeyContraint才能使其工作。

下面是一个例子:

代码语言:javascript
复制
 Dim relation As DataRelation
Dim ParentColumn As DataColumn
Dim ChildColumn As DataColumn
Dim foreignkey As ForeignKeyConstraint

ParentColumn = Me.dataset.Tables("table1").Columns(PKTable1)
ChildColumn = Me.dataset.Tables("table2").Columns(FKTable2)
foreignkey = New ForeignKeyConstraint("fkey_table1_table2", ParentColumn, ChildColumn)


                foreignkey.DeleteRule = Rule.Cascade
                foreignkey.UpdateRule = Rule.Cascade                
               foreignkey.AcceptRejectRule = AcceptRejectRule.Cascade


relation = New DataRelation("Relation_table1_table2", ParentColumn, ChildColumn, True)


 table2.Constraints.Add(foreignkey)


 Me.dataset.Relations.Add(relation)

现在,您只需将Table2指定为DataGridDataSource

代码语言:javascript
复制
datagrid.datasource=dataset
datagrid.datamember= "table2"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8723360

复制
相关文章

相似问题

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