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. C++中const简介及用法

    1.const简介 C++中的const关键字的用法非常灵活,而使用const将大大改善程序的健壮性,本人根据各方面查到的资料进行总结如下,期望对朋友们有所帮助. Const 是C++中常用的类型修饰 ...

  2. A - A

    A - A Time Limit:1000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit Status ...

  3. R与数据分析旧笔记(六)多元线性分析 上

    > x=iris[which(iris$Species=="setosa"),1:4] > plot(x) 首先是简单的肉眼观察数据之间相关性 多元回归相较于一元回归的 ...

  4. Android 仿360桌面小人

    首先自定义FloatsWindowView,用于显示动画小人. import android.annotation.SuppressLint; import android.content.Conte ...

  5. 一周学会Mootools 1.4中文教程:(7)汇总收尾

    转眼之间已经第七课了,这也将成为最后一课,如果这7课下来您感觉水平没有达到预想的水平,没关系您可以继续关注本站的博文,我会陆续发一些类似的文章帮您提升水平,另外我最近打算和群里的几个Mootools爱 ...

  6. jQuery 插件入门

    先看http://www.cnblogs.com/lideng/p/3605551.html http://www.cnblogs.com/xcj26/p/3345556.html (非常细致  很多 ...

  7. Pro/Engineer wildfire 5.0 野火版系列下载及安装方法

    三.PTC Pro/Engineer wildfire 5.0 M030 野火版最新版 DVD 下载(多国语言) 1.野火下载站下载32&64位下载:[32位] http://down.pro ...

  8. 64位WINDOWS系统环境下应用软件开发的兼容性问题(CPU 注册表 目录)

    应用软件开发的64 位WINDOWS 系统环境兼容性 1. 64 位CPU 硬件 目前的64位CPU分为两类:x64和IA64.x64的全称是x86-64,从名字上也可以看出来它和 x86是兼容的,原 ...

  9. 虚拟机的静态内部 IP 地址

     这是什么? 借助最新的 PowerShell 版本,您现在能够定义和配置特定的内部 IP 地址,该地址可以静态分配给部署在虚拟网络中的 IaaS 虚拟机.使用此功能,您可以直接为虚拟机配置内部 ...

  10. HDU 5768 Lucky7(CRT+容斥原理)

    [题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=5768 [题目大意] 求出一个区间内7的倍数中,对于每个ai取模不等于bi的数的个数. [题解] 首 ...