XmL文件代码:

<?xml version="1.0" encoding="utf-8" ?>
<Area>
<Province iAreaID="" cAreaName="北京市"/>
<Province iAreaID="" cAreaName="上海市"/>
<Province iAreaID="" cAreaName="天津市"/>
<Province iAreaID="" cAreaName="重庆市"/>
<Province iAreaID="" cAreaName="湖北省">
<City iAreaID="" cAreaName="武汉市"/>
<City iAreaID="" cAreaName="黄冈市"/>
<City iAreaID="" cAreaName="荆州市"/>
<City iAreaID="" cAreaName="武穴市"/>
<City iAreaID="" cAreaName="十堰市"/>
<City iAreaID="" cAreaName="黄石市"/>
</Province>
<Province iAreaID="" cAreaName="河北省">
<Province iAreaID="" cAreaName="石家庄市"/>
<Province iAreaID="" cAreaName="唐山市"/>
</Province>
<Province iAreaID="" cAreaName="山西省">
<Province iAreaID="" cAreaName="太原市"/>
<Province iAreaID="" cAreaName="大同市"/>
</Province>
</Area>

aspx前代码:

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TreeView ID="treeAreaList" runat="server"
AutoGenerateDataBindings="false" OnSelectedNodeChanged="Tree_SelectedNodeChanged"></asp:TreeView>
</div>
</form>
</body>
</html>

CS代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Xml; namespace WebApplication1.复合控制和模板页
{
public partial class TreeView控件 : System.Web.UI.Page
{
XmlDocument xmlDoc;
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
MakeParentNode();
}
}
#region protected void MakeParentNode()
{
treeAreaList.Nodes.Clear();
xmlDoc=new XmlDocument();
xmlDoc.Load(Server.MapPath("area.xml "));//动态加载xml文档
XmlNodeList nodeList=xmlDoc.SelectSingleNode("Area").ChildNodes;//获取子节点
//定义Area节点
TreeNode topNode=new TreeNode();//定义顶级节点
topNode.Text="area";
//tn.Value="-1";
topNode.Expanded=true; treeAreaList.Nodes.Add(topNode);//添加”区域“父节点
XmlElement element=null;
TreeNode treeNode=null;
//遍历区域下的所有省和直辖市
foreach (XmlNode node in nodeList)
{
element=(XmlElement)node;
treeNode=new TreeNode();
treeNode.Text=element.GetAttribute("cAreaName");
//在树控件上显示省或直辖市
treeNode.Value=element.GetAttribute("iAreaID");
//获取节点值
treeNode.Expanded=true;
topNode.ChildNodes.Add(treeNode);
MakeChildNode(node.ChildNodes,treeNode);
}
}
#endregion
#region
protected void MakeChildNode( XmlNodeList nodeList,TreeNode treeNode)
{
XmlElement element = null;
TreeNode subTreeNode = null;
foreach (XmlNode node in nodeList)
{
element = (XmlElement)node;
subTreeNode = new TreeNode();
subTreeNode.Text = element.GetAttribute("cAreaName");
//在树控件上显示省或直辖市
subTreeNode.Value = element.GetAttribute("iAreaID");
//获取节点值
subTreeNode.Expanded = true;
treeNode.ChildNodes.Add(subTreeNode);
MakeChildNode(node.ChildNodes, subTreeNode);
}
}
#endregion
protected void Tree_SelectedNodeChanged(object sender, EventArgs e)
{ Response.Write("节点的值:" + treeAreaList.SelectedNode.Value + "<br/>");
Response.Write("节点的路径:" + treeAreaList.SelectedNode.ValuePath + "<br/>");
Response.Write("节点的数据路径:" + treeAreaList.SelectedNode.DataPath + "<br/>");
}
}
}

显示效果:

TreeView控件例子的更多相关文章

  1. VB TreeView控件使用详解

    来源:http://www.newxing.com/Tech/Program/VisualBasic/TreeView_587.html 三小时快速掌握TreeView树状控件的使用.能不能掌握控件的 ...

  2. Winform TreeView控件技巧

    在开发的时候经常使用treeview控件来显示组织结构啊,目录结构啊,通常会结合属性checkedboxs,来做选中,取消的操作下面是一个选中,取消的小例子,选中节点的时候,如果节点存在子节点,可以选 ...

  3. 如何:使用TreeView控件实现树结构显示及快速查询

    本文主要讲述如何通过使用TreeView控件来实现树结构的显示,以及树节点的快速查找功能.并针对通用树结构的数据结构存储进行一定的分析和设计.通过文本能够了解如何存储层次结构的数据库设计,如何快速使用 ...

  4. VB TreeView控件使用详解(有趣的示例)

    第一小时:学习直接用代码将数据填充到树控件中. 为什么要先学习直接用代码将数据填充到树控件中?因为这种方法是最简单的,代码也最容易理解,学习树控件,先将这个学会,已经掌握了一半,所以先不要急着想怎么将 ...

  5. WPF中TreeView控件数据绑定和后台动态添加数据(二)

    写在前面:在(一)中,介绍了TreeView控件MVVM模式下数据绑定的方法.在这篇文章中,将总结给节点添加事件的方法,这样说有些不对,总之实现的效果就是点击某个节点,将出现对应于该节点的页面或者数据 ...

  6. TreeView控件使用

    treeView1.SelectedNode = treeView1.Nodes[0];  //选中当前treeview控件的根节点为当前节点添加子节点:  TreeNode tmp; tmp = n ...

  7. 基于Treeview控件遍历本地磁盘

    一.前言 Treeview控件常用于遍历本地文件信息,通常与Datagridview与ImageList搭配.ImageList控件用于提供小图片给TreeView控件,DatagridView通常显 ...

  8. Win32中TreeView控件的使用方法,类似于资源管理器中文件树形显示方式

    首先是头文件,内容如下: #include <tchar.h> #include "..\CommonFiles\CmnHdr.h" #include <Wind ...

  9. asp TreeView控件的使用

    相对于之前发过一个TreeView控件的使用方法 本次利用js操作,页面无刷新,性能提高 Css编码可能时我的模板页样式被继承下来,导致页面变乱,不需要的可以去掉 前台 <style> . ...

随机推荐

  1. 编写可维护的JS 06

    7.事件处理 //典型用法 function handlerClick(event){ var popup = document.getElementById('popup'); popup.styl ...

  2. jQuery为多个元素绑定相同的事件

    方式一: // 假设$("#div1", "#divN")有多个对象$("#div1", "#divN").each(f ...

  3. SET QUOTED_IDENTIFIER (Transact-SQL)

    使 SQL Server 遵从关于引号分隔标识符和文字字符串的 ISO 规则. 由双引号分隔的标识符可以是 Transact-SQL 保留关键字,也可以包含 Transact-SQL 标识符语法约定通 ...

  4. java数据库连接

    注意点: 1.所有和数据库相关的(jdbc)包都是java.sql.*: 2.将项目所需的jar包统一复制到web-inf/lib文件夹中. 一:sqlsever数据库 package dbcon; ...

  5. hdu 4454 Stealing a Cake (三分)

    Stealing a Cake Time Limit: 5000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  6. 收集的jquery插件

    1.精美jQuery分页插件 带滑动条分页使用HTML5实现刮刮卡效果 今天开始我们来收集一些jQuery分页插件,今天第一款jQuery分页插件适用于长翻页列表的分页应用,因为这款分页插件带有滑动条 ...

  7. [C语言练习]学生学籍管理系统

    /** * @copyright 2012 Chunhui Wang * * wangchunhui@wangchunhui.cn * * 学生学籍管理系统(12.06) */ #include &l ...

  8. Python 中psutil 模块的安装

    第一步下载psutil 的安装包 网址:https://pypi.python.org 第二步解压 .tar.gz cd psutil- 第三步安装: python setup.py build py ...

  9. android小知识之中如何获取当前时间

    百度整理过来的 [java] view plaincopyprint? import    java.text.SimpleDateFormat; SimpleDateFormat    format ...

  10. 简单使用SimpleCursorAdapter

    http://my.oschina.net/javaeye/blog/14846 果使用Sqlite,建议和ContentProvider结合使用.这样数据库的生命周期就不用自己管了.然后,如果要在比 ...