WPF - 将RadGridView绑定到包含许多表的数据集

时间:2015-11-18 04:04:39

标签: c# xml wpf dataset radgridview

首先,我从XML字符串中获取包含许多表的数据集,例如XML看起来像这样:

class xmldummy
{    
    public static string XmlRequest = "<?xml version =\"1.0\"?>"+
                                                "<table>"+
                                                  "<row>"+
                                                    "<name>abc</name>"+
                                                    "<type>def</type>"+
                                                  "</row>"+
                                                  ...
                                                  "<row5>"+
                                                    "<name>123</name>"+
                                                    "<type>456</type>"+
                                                  "</row5>"+
                                                "<table>";
}

然后在我有这个代码阅读并将其放入数据集:

string xmlRequest = xmldummy.XmlRequest;

DataSet ds = new DataSet();
ds.ReadXml(XmlReader.Create(new StringReader(xmlReply)));

我虽然会有一个数据集,其中一个表由5行组成,但我有一个包含5个表的数据集。

然后我想用RadGridView绑定它,我不知道我是如何显示所有数据集的。我所知道的是1张桌子:

gridView.DataContext = ds.Tables[1].DefaultView;

有没有简单的方法,所以我可以向gridView显示所有表格?或者我应该将所有表格合并为1?

1 个答案:

答案 0 :(得分:1)

问题是XML文件的结构不正确。要创建正确的XML结构,请确保项列表具有相同的标记,例如:

<table>
    <row>
       <name>Entry 1</name>
       <value>123</value>
    </row>
    <row>
       <name>Entry 2</name>
       <value>456</value>
    </row>
</table>

在您提供的XML中,每个row都有不同的标记:row1row2,这会使DataSet解析无效。