上一篇文章我们介绍了树控件的基本用法,不过都是通过标签来声明树控件的结构,本章我们会详细讲解如何在后台绑定树控件。
绑定到XmlDocument
下面通过一个简单的例子来看如何将XmlDocument和树控件绑定,页面的标签结构:
1: <ext:Tree ID="Tree1" Width="500px" EnableArrows="false" EnableLines="false" ShowHeader="true"
2: Title="树控件(绑定到 XmlDocument)" runat="server">
3: </ext:Tree>
这里有两个属性需要注意:
- EnableArrows:是够启用箭头折叠标示,否则是默认的加减折叠标示。
- EnableLines:是否启用折叠标示之间的连接虚线。
来看下后台的初始化代码:
1: private void LoadData()
2: {
3: string xmlPath = Server.MapPath("~/tree/databind/website.xml");
4:
5: string xmlContent = String.Empty;
6: using (StreamReader sr = new StreamReader(xmlPath))
7: {
8: xmlContent = sr.ReadToEnd();
9: }
10:
11: XmlDocument xdoc = new XmlDocument();
12: xdoc.LoadXml(xmlContent);
13:
14: Tree1.DataSource = xdoc;
15: Tree1.DataBind();
16: }
这段代码的逻辑很简单:
- 获得需要读取XML文件的服务器路径;
- 使用StreamReader来读取文件的内容;
- 创建XmlDocument实例,并加载XML文件内容;
- 设置树控件的DataSource为此实例,并调用DataBind执行数据绑定。
最后来看下XML文件的内容和最终的效果截图:
1: <?xml version="1.0" encoding="utf-8" ?>
2: <Tree>
3: <TreeNode Text="中国" Expanded="true" NodeId="China">
4: <TreeNode Text="河南省" Expanded="true" NodeId="henan">
5: <TreeNode