设置节点图片 :

  • Windows资源管理器左侧的树型资源结构图中,各节点都有图片连接,例如磁盘的图片、光盘的图片和文件夹的图片等,使资源的表现更加形象。IEWebControls的TreeView控件也可以为节点链接图片,这时需要利用以下3个属性关联到节点的标准状态(未展开、未选中)、展开状态和选中状态。
  • ImageUrl属性:TreeNode处于标准状态时显示的图片的地址。
  • ExpandImageUrl属性:TreeNode处于展开状态时显示的图片的地址。
  • SelecteImageUrl属性:TreeNode处于选中状态时显示的图片的地址。

动态添加和删除TreeNode节点:

  TreeView控件中的节点若在整个程序的生命期间都是不变的,则可以在程序设计时使用节点编辑器编辑它,或者在页面的HTML标记中手工添加它。也可根据程序运行中数据变化的需要对节点动态进行增减。在后台代码中调用TreeView控件的Nodes集合的Add方法和AddAt方法增加节点,调用Remove方法删除节点。

  • (一)Nodes.Add方法 Nodes.Add方法向控件加入一个节点,增加的节点放在控件的最后面。下段程序可以向控件TreeView1中增加一个新节点: TreeNode newNode=new TreeNode(); newNode.Text="人文科学系"; TreeView1.Nodes.Add(newNode);
  • (二)Nodes.AddAt方法 Nodes.AddAt方法向控件加入节点时,需要指定节点的索引位置,因此可以将节点插入到原有的节点的中间。下段程序插入一个节点到树的开头。 //创建一个新节点 TreeNode newNode=new TreeNode(); newNode.Text="冶金职院"; //添加新节点到Nodes集合中 TreeView1.Nodes.AddAt(0,newNode);
  • (三)Nodes.Remove方法 Nodes.Remove方法从TreeView控件中移除一个节点。下行程序将树中的第二个节点移除。  TreeView1.Nodes.Remove(TreeView1.Nodes[1]); 直接调用TreeView控件的Nodes.Add方法或Nodes.AddAt方法添加的节点都是顶层节点,调用Nodes.Remove方法删除的也是顶层节点,若要将节点插入到任意层次,或者需要删除非顶层的节点则: 需要在调用上述3个方法之前,有一种方法能够分辨出节点的层次出来,这要用到TreeView控件的GetNodeFromIndex()方法。
  • (四)GetNodeFromIndex方法 GetNodeFromIndex方法返回参数索引号所指定的节点的引用。调用的格式为: TreeView1.GetNodeFromIndex("x.y.z…") 其中TreeView1是当前的树型控件,参数x.y.z指明节点的层次,例如”1.2”表示顶层索引号为1,其下一层索引号为2的那个节点。
  • (五)删除非顶层节点 当要删除顶层索引号为1,其下一层索引号为2的那个节点时,可以写如下的代码:    //获取该节点    TreeNode delNode=this.TreeView1.GetNodeFromIndex("1.2"); //删除该节点 delNode.Remove();
  • (六)插入非顶层节点   要在顶层索引号为1,其下一层索引号为2的那个位置插入一个节点时,可以写如下的代码:    //创建一个新节点 TreeNode newNode1=new TreeNode(); newNode1.Text="多媒体教研室"; //获取插入位置的节点节点 TreeNode addNode=this.TreeView1.GetNodeFromIndex("1.2"); //将新节点插入 addNode.Nodes.AddAt(1,newNode1);

从XML文件读取节点数据:

  利用节点编辑器来编辑TreeView控件的节点,只适应于在编程阶段就可预知节点结构的情况。虽然此后可以动态修改节点,也必须由程序代码实现,若节点结构变化的规律与程序代码不符,就必须修改程序代码。 ASP.NET允许将树型控件节点数据编写在一个XML文档中,程序从这个文档读取数据以构造树型控件的节点。若控件节点所代表的资源发生变化时,只需要修改这个XML文档即可,不需要修改程序代码。

  • (一)从XML文档读取树型控件的节点数据 创建一个Web应用程序项目,向页面内拖入一个TreeView控件。打开控件TreeView1的属性窗口,设置控件的节点的ExpandedImageUrl、ImageUrl和SelectedImageUrl属性,这些属性指定当节点展开或选中时的图片地址。
  • (二)编辑节点的XML文件 在VS.NET集成开发环境中,选择菜单“项目(P)→添加新项(W)”,在添加新项对话框右侧的模板框中选择“XML文件”,在名称框中输入XML文件的名称。本例输入名称“XMLTreeViewNode.xml”,然后单击【打开】按钮,就可以切换到XML文件的编辑窗口,编辑文件的内容如下: <?xml version="1.0" encoding="utf-8" ?> <TREENODES> <TreeNode Text="商品总目"> <TreeNode Text="农产品"> <TreeNode Text="水果"></TreeNode> <TreeNode Text="粮食"></TreeNode> </TreeNode> <TreeNode Text="日化产品"><TreeNode Text="洗涤用品"></TreeNode> <TreeNode Text="化妆用品"></TreeNode> </TreeNode> <TreeNode Text="百货"> <TreeNode Text="服装"></TreeNode> <TreeNode Text="鞋帽"></TreeNode> </TreeNode> <TreeNode Text="家电"> <TreeNode Text="冰箱"></TreeNode> <TreeNode Text="洗衣机"></TreeNode> </TreeNode> </TreeNode> </TREENODES>这个XML文档中只允许有一个根标签<TREENODES></TREENODES>,所有的节点标签都必须放在这个根标签之内,标签标记TREENODES必须大写。每个节点标签<TreeNode ></TreeNode>中定义一个节点,节点标签可以嵌套,嵌套层次表明了节点的结构关系。
  • (三)指定TreeView控件的TreeNodeSrc属性 需要指定TreeView控件的TreeNodeSrc属性,以指示TreeView控件的节点数据和结构来自文件。注打开TreeView控件的属性窗口,在TreeNodeSrc属性上指定其值为刚编写的那个文件“XMLTreeViewNode.xml”。
  • (四)控件效果      运行程序,效果如下图。

  

ASP.NET - TreeView的更多相关文章

  1. asp .Net TreeView实现数据绑定和事件响应

    最近做了一个图书馆管理系统,其中要实现中图法分类号查询,因为初学asp ,感觉还有点难度, 第一步:数据库文件 第二步 向界面中拖进TreeView控件 第三步添加事件 下面是cs文件代码 //Tre ...

  2. asp 使用TreeView控件

    这段代码为了使用 TreeNodeCheckChanged 事件,会有回刷新的效果: 不喜欢的可查看改进版,利用js控制选择操作,无界面刷新, “http://www.cnblogs.com/GoCi ...

  3. asp.net treeview 异步加载

    在使用TreeView控件的时候,如果数据量太大,这个TreeView控件加载会很慢,有时甚至加载失败, 为了更好的使用TreeView控件加载大量的数据,采用异步延迟加载TreeView. 在Tre ...

  4. ASP.NET - TreeView 增删

    效果: 前端代码: <%@ Master Language="C#" AutoEventWireup="true" CodeBehind="Si ...

  5. asp.net treeview 总结

    网上关于Treeview的代码虽然多 但是都是很乱 实用性和正确性也不是很好 只好自己写一套了,时间比较紧张 性能可能还需调整 以用户组织的一个实际例子来讲诉Treeview的用法吧 组织表结构: 用 ...

  6. 转:asp.net TreeView CheckChanged 事件浅谈

    http://blog.csdn.net/xiage/article/details/5128755 在开发中经常可以碰到类似的问题: 想通过一个树父节点的TreeNodeCheckChanged 事 ...

  7. asp.net TreeView控件绑定数据库显示信息

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  8. asp.net TreeView与XML配合使用v1.1

    刚我在做Tree view 绑定时自己摸索了一下,网上有人说TreeView绑定数据源,用什么递归绑定啥的,我不想看了,就自己试着写了一个 我是这样做的,如果有什么问题请大神指导,我是菜鸟额.. 1: ...

  9. ASP.NET - TreeView控件,只操作最后一级节点

    效果: 使用母板页进行,左右页面进行跳转. 绑定TreeView控件:http://www.cnblogs.com/KTblog/p/4792302.html 主要功能: 点击节点的时候,只操作最后一 ...

随机推荐

  1. ubuntu15.04安装hexo

    首先吐槽一下npm淘宝源,貌似中国目前唯一一个npm源,现在不好用了,不知道是不是换了地址,在吐槽一下万恶的墙!你懂得. 好了,说点正儿八经的事儿. 之所以安装hexo也是为了创建自己的博客,我只说最 ...

  2. TreePuzzle 一点感想

    题目链接 这一道题看起来像是一道贪心的水题,但是情况较难考虑周全,比如下图,我就考虑漏了这种情况,点0是可以移动到点1的.然后我就各种奇怪的分类讨论.最终还是没能A,决定放弃治疗. 然后我看了看解答, ...

  3. Android灭亡论之Firefox OS操作系统出现

    今天是2014年7月1日,过几天就要到深圳实训去了,实训核心内容是Android开发.尽管Android现在很火,但作为程序猿的我们必须时刻保持清醒的头脑.我虽不是什么预言家,但近期接触的Androi ...

  4. 架构漫谈:自己开发一个Log框架

    前言 在日常开发中我们常常都会用到写日志的功能,现在网上的写Log的框架有很多,但是对于我个人而言,过于庞大:我们往往只为了使用框架中的某一个功能就不得不引用整个框架. 所以,我们今天就来自己动手开发 ...

  5. WCF技术剖析之三十:一个很有用的WCF调用编程技巧[下篇]

    原文:WCF技术剖析之三十:一个很有用的WCF调用编程技巧[下篇] 在<上篇>中,我通过使用Delegate的方式解决了服务调用过程中的异常处理以及对服务代理的关闭.对于<WCF技术 ...

  6. container_of用法及实现

    container_of 有的情况下,只知道 struct结构中莫个成员的指针,而需要知道整个struct的指针 (如网卡驱动里面,list) struct DDD {         int a; ...

  7. XLSTransformer生成excel文件简单演示样例

    项目结构图: 项目中所用到的jar,能够到http://www.findjar.com/index.x下载 ExcelUtil类源代码: package util; import java.io.IO ...

  8. UVA 10815 Andy&#39;s First Dictionary(字符处理)

    Andy, 8, has a dream - he wants to produce his very own dictionary. This is not an easy task for him ...

  9. Opera浏览器测试移动端网站和模拟手机浏览器的方法

    链接地址:http://www.neirong.org/post-256.html?utm_source=tuicool Chrome浏览器请看:Chrome浏览器测试移动端网站和模拟手机浏览器的方法 ...

  10. Java 自定义日志写入

    /** * 将信息写入到日志 * @param content * @return * @throws IOException */ public static boolean writeLog(St ...