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. nodejs在服务器上运行

     nodejs运行之后,关掉链接,网站运行就会断开,需要安装forever,后台执行. 安装方法如下(在windows和Linux下都能运行)://forever的安装: npm install fo ...

  2. sql server varchar(10)和 nvarchar(10)存储数据长度

    ) 存储10个字母,英文标点符号等,5个汉字以及中文标点等. )存储10汉字.字母等,不区分中英文.

  3. poj2407---欧拉函数应用

    欧拉函数介绍: 在数论中,对正整数n,欧拉函数是少于或等于n你的数中与n互质的数的数目. 通式:φ(x)=x(1-1/p1)(1-1/p2)(1-1/p3)(1-1/p4)…..(1-1/pn),其中 ...

  4. Convert Binary Search Tree (BST) to Sorted Doubly-Linked List

    (http://leetcode.com/2010/11/convert-binary-search-tree-bst-to.html) Convert a BST to a sorted circu ...

  5. hdu 4902 Nice boat 线段树

    题目链接 给n个数, 两种操作, 第一种是将区间内的数变成x, 第二种是将区间内大于x的数变为gcd(x, a[i]). 开三个数组, 一个记录区间最大值, 这样可以判断是否更新这一区间, 一个laz ...

  6. 【转】杭电ACM试题分类

    注:网上搜的 第一篇 1001 这个就不用说了吧1002 简单的大数1003 DP经典问题,最大连续子段和1004 简单题1005 找规律(循环点)1006 感觉有点BT的题,我到现在还没过1007 ...

  7. 【LeetCode题意分析&解答】36. Valid Sudoku

    Determine if a Sudoku is valid, according to: Sudoku Puzzles - The Rules. The Sudoku board could be ...

  8. 在FL2440上使用kei MDK 调试程序(J-link)

    <一>新建一个工程 单击Project ->New µVision Project...菜单项 <二>选择CPU 这里我们选择三星的2440A 点击OK后会提示你是否添加 ...

  9. 《windows程序设计》学习_3.4:实现雷区翻转

    #include<windows.h> #include "resource.h" LRESULT CALLBACK WndProc (HWND, UINT, WPAR ...

  10. perl笔记

    更精确的空白字符串匹配 1.水平空白字符 Perl5.10之前,使用\s这种分类,不够精确,容易导致意料外的结果: Perl5.10中引入\h字符组,用来匹配任意水平空白字符(包括Unicode字符集 ...