在一个datagridview中显示多个数据集关系

时间:2016-08-16 08:29:16

标签: c#

我有两个来自两个数据库表的xml代码,我用C#中的XmlReaders读取它们。 然后我设置了DataSet并用读者填充它们并合并它们。现在我想定义它们之间的关系,以在DataGridView中显示整个数据。但我在数据网格中看不到任何内容。没有错误也没有输出。

这是我的C#代码:

XmlReader reader1 = XmlReader.Create("http://example.com/ShowTaxonomy.php/");
XmlReader reader2 = XmlReader.Create("http://example.com/ShowTerms.php/");
ds1.ReadXml(reader1);
ds2.ReadXml(reader2);
ds2.Merge(ds1);
newRelation = new DataRelation("Buy", ds2.Tables["terms"].Columns["term_id"], ds2.Tables["term_taxonomy"].Columns["term_id"]);

我也试过这个,但它也不起作用:

ds2.Relations.Add("Buy", ds2.Tables["d3CwX_terms"].Columns["term_id"], ds2.Tables["d3CwX_term_taxonomy"].Columns["term_id"]);
ds2.Relations.Add(newRelation);

我使用此代码填充我的数据网格:

frm.dgv.DataSource = ds2.Relations["Buy"];  

我可以做些什么来输出? 先谢谢

1 个答案:

答案 0 :(得分:0)

尝试,

dataSet.AcceptChanges();

ds1.Tables [0] .PrimaryKey = new DataColumn [] {ds1.Tables [0] .Columns [" empkey"]}; ds2.Tables [0] .PrimaryKey = new DataColumn [] {ds2.Tables [0] .Columns [" empkey"]};

//这是关键线 ds1.Merge(ds2,true,MissingSchemaAction.Add);