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();
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不是这样规则的...子节点下面还有子节点...
有错误再所难免,希望大侠们指出...
浙公网安备 33010602011771号