UltrGrid绑定XML

第一次用到这个从来没用的到控件,不知道从那里下手.....其实UltraGrid和DataGrid绑定数据差不了多少,但是用过UltraGrid后,发现它的强大功能不是DataGrid所能比的.....

我的想法是把XML里面的数据读取出来,放到自己建的DataTable中,再将UltraGrid绑定指定的Datatable.....

eg:

xml文档样式(1.xml):

<?xml version="1.0" encoding="utf-8"?>
<class>
<nodes>
       <node name="1" size="5"/>
       <node name="2" size="6"/>
       <node name="3" size="7"/>
       <node name="4" size="8"/>
</nodes>
<nodes>
       <node name="11" size="55"/>
       <node name="22" size="66"/>
       <node name="33" size="77"/>
       <node name="44" size="88"/>
</nodes>
</class>

--------------------------------------------------------------------------------------------------------

cs:

 

            //建立Datatable

            DataTable table = new DataTable("TestTable");

            DataSet dtSet = new DataSet();

            //加载XMl文档

            XmlDocument xmlDoc = new XmlDocument();

            xmlDoc.Load(@"C:\\1.XML");

            //设立Datatable模式

            table.Columns.Add("编号", typeof(System.Int64));

            table.Columns.Add("日期", typeof(System.DateTime));

            table.Columns.Add("绝对时间", typeof(System.String));

      

             DataRow row = table.NewRow();

             

            XmlNodeList topM = xmlDoc.DocumentElement.ChildNodes;

            foreach (XmlElement element in topM)

            {

                if (element.Name.ToLower() == "nodes")

                {

                    XmlNodeList nodelist = element.ChildNodes;

                    for (int i = 0; i < nodelist.Count; )

                    {

                         string 1= element.ChildNodes[i].Attributes["name"].Value;

                         string 2= element.ChildNodes[i+1].Attributes["name"].Value;

                         string 3= element.ChildNodes[i+2].Attributes["name"].Value;

                         string 4= element.ChildNodes[i+3].Attributes["name"].Value;

                        

                         table.Rows.Add(1,2,3,4);

                         break;

                      }

                  }

            }

            

            dtSet.Tables.Add(table);

            ultraGrid1.SetDataBinding(dtSet, "TestTable");

 

      获取XML节点属性的时候没采用遍历,我要获取每个节点属性的值,原始的XML不是这样规则的...子节点下面还有子节点...

      有错误再所难免,希望大侠们指出...

 

            

 


 

posted on 2009-04-20 17:09  &猪哥靓  阅读(217)  评论(0)    收藏  举报

导航