这个是Test.xml文件内容:<?xml version="1.0" encoding="UTF-8"?>
<!-- edited with XMLSpy v2007 rel. 3 sp1 (http://www.fzhchh.com) by hoppyhu (EMBRACE) -->
<NewDataSet>
<table ENName="YLYP_GYS" CHName="供应商资料">
<filed ENName="Ypgys_gysmc" CHName="供应商名称">
<type>varchar</type>
<length>200</length>
</filed>
<filed ENName="Ypgys_gysdz" CHName="供应商地址">
<type>varchar</type>
<length>255</length>
</filed>
</table>
<table ENName="YLYP_YS" CHName="商品验收记录">
<filed ENName="Ypys_ysrq" CHName="验收日期">
<type>datetime</type>
<length>8</length>
</filed>
<filed ENName="Ypys_gysmc" CHName="供应商名称">
<type>varchar</type>
<length>200</length>
</filed>
</table>
</NewDataSet>现在要做的效果是,在页面上有一个comboBox1,他绑定table里的ENName和CHName,
通过选择出发事件在dataGrid1里显示所选择的ENName和CHName下的内容,该如何做?谢谢帮忙。

解决方案 »

  1.   

    在页面上有一个comboBox1,他绑定table里的ENName和CHName,
    --------------------
     DataSet ds = new DataSet();
                    ds.ReadXml(@"e:\2.xml");
                    comboBox1.DisplayMember = "CHName";
                    comboBox1.ValueMember = "EHName";
                    comboBox1.DataSource = ds.Tables[0];
      

  2.   

    通过选择出发事件在dataGrid1里显示所选择的ENName和CHName下的内容,该如何做?
    ---------------------
    这个不明白
      

  3.   

    XmlDocument doc = new XmlDocument();
    doc.Load(Server.MapPath("aa.xml"));
    GetNode(doc.DocumentElement);
    void GetNode(XmlNode m)
      {
      Response.Write("<hr>" + m.Name);
        for(int j = 0;j<m.Attributes.Count;j++)
        {
         Response.Write("<li>" + m.Attributes[j].Name + " = " + m.Attributes[j].Value);
        }
      if(m.ChildNodes.Count > 0)
      {
       for(int i = 0;i<m.ChildNodes.Count;i++)
       {
       GetNode(m.ChildNodes[i]);
       }
      }  
      }递归table结点根据选择内容重新去缓存中搜索 然后重新绑定dataGrid1
      

  4.   

    你可以通过XPath得到你想要的节点XmlDocument doc = new XmlDocument();
    doc.Load(file);
    XmlNodeList tables = doc.SelectNodes("/NewDataSet/table");XmlNodeList fileds = doc.SelectNodes("/NewDataSet/table[@ENName='"+你选择的EName+"']/filed");
      

  5.   

    可以使用xmldatasoure数据源进行绑定的
      

  6.   

    建议lz用XPath的方法直接找节点,不要用全遍历的方式,如果BearRui(AK-47) 的方法可行那倒是最便利的方法,但是我没试出来!!!
      

  7.   

    首先你要知道ComboBox和DataGrid的基本用法
    具体例子请参考MSDN或者Google一下,很多然后才是操作XML操作XML有很多中办法,XPath是比较简单而且也比较灵活的一种
    你得到XmlNodeList后你可以转换成你想要的数据类型,然后绑定到ComboBox上去
    然後给ComboBox添加个SelectedIndexChanged事件
    在这个事件中,得到所选择的EName,然后根据这个EName得到对应的节点
    然后把这些节点绑定到DataGrid上去
    就结束了不知道这个过程你哪个步骤不会??
    难道让别人把所有代码给你??
      

  8.   

    BearRui(AK-47) 拜你做师父好不 ?