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. Putty以及adb网络调试

    1.什么是SSH? SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定:SSH 为建立在应用层和传输层基础上的安全协议. 传 ...

  2. iOS开发篇-AFNetworking 上传和下载

    最近用到了关于AFNetworking的上传和下载问题,顺便写到博客中,以供大家参考和研究. //下载NSURLSessionConfiguration *configuration = [NSURL ...

  3. 创建oracle数据库的表空间、用户、目录、导入\导出文件等信息

    1.创建表空间 create tablespace ts_aw logging datafile 'd:\app\Administrator\product\tablespace\ts_aw.dbf' ...

  4. [C#参考]细说进程、应用程序域与上下文之间的关系

    原文转载链接:http://www.cnblogs.com/leslies2/archive/2012/03/06/2379235.html Written by:风尘浪子 引言 本文主要是介绍进程( ...

  5. 联想V480关闭UEFI安装Win7

       联想V480关闭UEFI安装Win7 http://www.dadclab.com/archives/3283.jiecao 故事背景 兔兔牛入了一枚Lenovo V480,预装Win8,想换成 ...

  6. 计算BMI指数的小程序

    小明身高1.75,体重80.5kg.请根据BMI公式(体重除以身高的平方)帮小明计算他的BMI指数,并根据BMI指数: 低于18.5:过轻 18.5-25:正常 25-28:过重 28-32:肥胖 高 ...

  7. canvas 基础知识

    canvas 基础 低版本的ie不支持html5,需要引入excanvas.js来让ie支持canvas. 检测支持canvas <canvas id="canvas" wi ...

  8. SD卡协议规范学习

    首先,本博文遵照SD卡协议3.01版本,最旧协议版本为1.10,但是协议是向下兼容的.SD卡Physical Layer Simplified Specification Version 3.01英文 ...

  9. 51nod 1237 最大公约数之和 V3(杜教筛)

    [题目链接] https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1237 [题目大意] 求[1,n][1,n]最大公约数之和 ...

  10. ssm框架理解

    SSM框架理解 最近两星期一直在学JavaEE的MVC框架,因为之前学校开的JavaEE课程就一直学的吊儿郎当的,所以现在真正需要掌握就非常手忙脚乱,在此记录下这段时间学习的感悟,如有错误,希望大牛毫 ...