[网络收集]读取XML 利用TreeView控件动态生成无限级树
2010-11-12 20:52
369 查看
项目需要,有一个树形菜单需要动态生成,联想到TreeView控件,决定用TreeView来实现
首先注意到了TreeView控件有一个属性TreeNodeSrc
这个属性可以指定一个固定格式的xml文件
<?xml version="1.0" encoding="utf-8" ?>
<TREENODES>
<TREENODE text="aaaaaaaa" CheckBox="true"></TREENODE>
<TREENODE text="bbbbbbbb" CheckBox="true"></TREENODE>
<TREENODE text="cccccccccc" EXPANDED="true" CheckBox="true">
<TREENODE text="ddddddddd" CheckBox="true"></TREENODE>
<TREENODE text="eeeeeeeee" CheckBox="true"></TREENODE>
</TREENODE>
<TREENODE text="fffffffffffff" CheckBox="true"></TREENODE>
</TREENODES>
于是就想把数据库里的文件读出来写入一个xml文件中,然后再进行绑定
既然是无限级菜单,肯定要用到递归来实现,于是就写了一个如下的递归算法
private void CreateXml(XmlDocument objXMLDoc, XmlElement objRootElem, int belong)
private void BindXmlTree()
private void CreateTree(int belong, Microsoft.Web.UI.WebControls.TreeNode rootnode)
private void Page_Load(object sender, System.EventArgs e)
{
Microsoft.Web.UI.WebControls.TreeNode rootnode = new Microsoft.Web.UI.WebControls.TreeNode();
rootnode.Expanded = true;
TreeView2.Nodes.Add(rootnode);
CreateTree(0, rootnode);
}
注意,这里为了实现递归,不得不添加一个空的根节点rootnode
这样就算大致实现了
另,数据库里的数据格式是这样的
-----------------------------------------
id text belong
1 aaaa 0
2 bbbb 0
3 cccc 0
4 dddd 1
5 eeee 2
6 ffff 4
摘自:http://hi.baidu.com/tracyjay/blog/item/d0f7275a0e6936212934f054.html
首先注意到了TreeView控件有一个属性TreeNodeSrc
这个属性可以指定一个固定格式的xml文件
<?xml version="1.0" encoding="utf-8" ?>
<TREENODES>
<TREENODE text="aaaaaaaa" CheckBox="true"></TREENODE>
<TREENODE text="bbbbbbbb" CheckBox="true"></TREENODE>
<TREENODE text="cccccccccc" EXPANDED="true" CheckBox="true">
<TREENODE text="ddddddddd" CheckBox="true"></TREENODE>
<TREENODE text="eeeeeeeee" CheckBox="true"></TREENODE>
</TREENODE>
<TREENODE text="fffffffffffff" CheckBox="true"></TREENODE>
</TREENODES>
于是就想把数据库里的文件读出来写入一个xml文件中,然后再进行绑定
既然是无限级菜单,肯定要用到递归来实现,于是就写了一个如下的递归算法
private void CreateXml(XmlDocument objXMLDoc, XmlElement objRootElem, int belong)
private void BindXmlTree()
private void CreateTree(int belong, Microsoft.Web.UI.WebControls.TreeNode rootnode)
private void Page_Load(object sender, System.EventArgs e)
{
Microsoft.Web.UI.WebControls.TreeNode rootnode = new Microsoft.Web.UI.WebControls.TreeNode();
rootnode.Expanded = true;
TreeView2.Nodes.Add(rootnode);
CreateTree(0, rootnode);
}
注意,这里为了实现递归,不得不添加一个空的根节点rootnode
这样就算大致实现了
另,数据库里的数据格式是这样的
-----------------------------------------
id text belong
1 aaaa 0
2 bbbb 0
3 cccc 0
4 dddd 1
5 eeee 2
6 ffff 4
摘自:http://hi.baidu.com/tracyjay/blog/item/d0f7275a0e6936212934f054.html
相关文章推荐
- 利用TreeView控件动态生成无限级树(转)
- 利用TreeView控件动态生成无限级树(续:通过绑定动态xml文件)
- 利用TreeView控件动态生成无限级树
- 利用TreeView控件动态生成无限级树
- 利用TreeView控件动态生成无限级树(续:通过绑定动态xml文件)
- 利用TreeView控件动态生成无限级树(转)
- 利用TreeView控件动态生成无限级树(续:通过绑定动态xml文件)(转)
- c#:Dataset读取XML文件动态生成菜单
- 利用.net 2.0中的TreeView控件与数据库绑定,生成无限级的树目录
- asp.net2.0 利用Dataset,从数据库导出并生成无限级类别的XML文件
- 利用dom4j 读取javabean生成XML和读取XML得到javabean对象(集合)
- 使用Python读取TestTrack记录- Part3 动态生成Linq to xml查询语句筛选条件
- Delphi中利用TXMLDocument组件读取XML生成TreeView函数备忘
- MVC下读取XML生成动态表单的例子[转]
- [网络收集]分析ASP.NET读取XML文件4种方法
- 利用.net 2.0中的TreeView控件与数据库绑定,生成无限级的树目录
- 利用反射与dom4j读取javabean生成对应XML和读取XML得到对应的javabean对象集合
- [未解决]Ajax-读取并解析XML,动态生成select下拉列表框
- 利用反射与dom4j读取javabean生成对应XML和读取XML得到对应的javabean对象集合
- 利用TreeView控件动态生成无限级树