在.NET开发中灵活使用TreeView控件

treeview|控件

  ASP.NET真正有用的特性就是其可扩充性。世界各地的开发人员都可以创建自己的自定义控件,这种自定义控件可以方便地在你自己的过程中进行定义。其中,Internet Explorer Web Controls就是由微软公司在标准的ASP.NET控件之外创建的这样一个集合。

  Windows资源管理器中的驱动器和其下的文件及文件夹就是按照一种层次结构来安排的,在这个控件集中有一个treeview控件为我们提供了一种按层次结构显示信息的方式。treeview控件包含了称做“节点”(node)的一些条目的一个列表。每一个节点都可以有自己的节点集合,从而提供了一种更深层的数据定义。每个节点都可以被折叠起来,从而允许访问者在一个treeview控件中查找,只看他所感兴趣的那一级的数据。就像Windows的资源管理器一样。

  首先得明确一点就是测试的环境,只要环境正确,接下来的工作就很轻松了:

  要测试该控件,得有一个叫IE WebControls的文件,具体的文件可以点击这里下载或到微软的网站去下载。

  按照他提供的方法进行安装。如有不清楚,请仔细看清楚他的readme文档。

  这里跳过下载方法,直接进入环境的配置:

  IE Web Controls

  1、双击安装完成,默认:系统盘:\program files\IE Web Controls目录下。

  2、运行“程序——Microsoft Visual Studio.NET 2003 ——Visual Studio.NET 工具 ——Microsoft Visual Studio.NET 2003 命令提示符”,进入到IE Web Control 安装目录。

  3、运行build.bat 。

  4、运行xcopy /s /i .\build\Runtime (网站根目录,默认系统盘):\Inetpub\wwwroot\webctrl_client\1_0 /y 。

  在”工具箱——web窗体“单击右键,选择“添加/移除项...”,在弹出对话框中选择.net framwork 组件,单击“浏览”,找到IE WebControl.dll 文件,添加上即可。

  这样就配置好了运行环境。接下来进行实操作阶段了。

  一、定义TreeView控件

  代码拷贝框

'导入名称空间
<%@ import namespace="Microsoft.web.UI.webcontros"%>
'注册这个名称空间并为其给定一个TagPrefix,以便于对这个控件库中的控件进行定义
<%@ register tagprefix = "iecontrols"
namespace="Microsoft.web.UI.webcontrols"
assembly="microsoft.web.UI.webcontrols"
%>
'设置好指令后,就可以定义下面这样的一个treeview控件了
<iecontrols:treeview
id="tvbasic"
autoselect="false"
shoplus="true"
showlines="true"
expandlevel=2
runat="server"

----------
</idcontrols:treeview>
  下面来解释一下相应代码:

autoselect = "false"
  当访问者在TreeView控件中对节点进行定位时,可以使用键盘上的箭头来进行这种定位.当这个TreeView控件的autoselect属性值设为TRUE时,可以使用键盘上的键来在treeview控件中滚动,以选聂一个条目.如果设置为false的话,则不允许这样做.

showplus="true"
  当一个treeview控件中的两个节点收到一起的时候,你可以显示一个加号(+),访问者就知道这个节点可以展开.通过设置showplus属性,你可以控制在这个位置是否显示加号.如果这个属性值设为true将使用加号;否则不使用.

showlines="true"
  在一个treeview控件中的两个节点之间,可以显示一些线条,通过设置showlines属性,你可以控制是否显示这样的线条.

Expandlevel=2
  这个Treeview控件的Expandlevel属性用来确定在默认的情况下,沿着这个treeview控件的层次结构展开的级别数.

<iecontrols:treeview>
---------
</iecontrols:treeview>
  在这个treeview控件定义的开始和结束标记之间,可以定义一些treenode控件.

  二、在treeview控件中使用treenode控件

  如果你创建一个treeview控件的话,就需要在其中添加一些treenode控件来显示一些信息.treenode控件显示为treeview控件的层次结构中的一个项.treenode控件可以包含了treeview控件;或者,该控件本身也可以独立存在.下面将向你展示如何在一个treeview控件中定义treenode控件.

  本实例将显示我喜欢的一些网站,其中每个网站可以是一个独立的,或者在其下还有其它网站.这个treeview控件具有如下定义:

  代码拷贝框

<iecontrols:treeview
id="tvwebsite"
autoselect ="false"
showplus="true"
showlines="true"
expandlevel=2
runat = "server"

'接下来在treeview控件的开始和结束标记中,定义treenode控件
<iecontrols:treenode text="我常去的站点">
<idcontrols:treenode text="设计类站点">
<idcontrols:treenode text="蓝色理想" />
<idcontrols:treenode text="有风的日子" />
<idcontrols:treenode text="设计联盟" />
</iecontrols:treenode>
<iecontrols:treenode text="编程类站点">
<iecontrols:treenode text="ASP编程">
<iecontrols:treenode text="ASP COOL" />
<iecontrols:treenode text=""/>
</iecontrols:treenode>
<iecontrols:treenode text="ASP.NET编程">
<iecontrols:treenode text="Dotnet技术网" />
<iecontrols:treenode text="asp.net"/>
</iecontrols:treenode>
<iecontrols:treenode text="程序员大本营" />
</iecontrols:treenode>
</iecontrols:treenode>
  其中,定义了一个两级的节点.这个树状视图中包含了"设计类站点"和"编程类站点"这二个大节点,而"编程类站点"中又有两个子节点"ASP编程"和"asp.net编程",其中每个子节点又都定义了其他的节点.

  要注意包含其他节点的treenode控件和独立的treenode控件之间的差别.当一个treenode控件中还有其它treenode控件时,这些子控件在其父控件的开始和结束标记之间进行定义:

<iecontrols:treenode text="">
</iecontrols:treenode>
  但对于一个独立的treenode控件来说,其开始和结束标记是自包含的:

<iecontrols:treenode text="" />
  当页面首次加载时,这就是整个视图节点的展开情况.由于这里的expandlevel属性值设为2,因此将显示到所有级别上的节点.此外还要注意的是,由于showlines属性和showplus属性都为true,因此在所有显示的这个视图中,连接节点间的线条和连接框都显示出来.

   "我常去的站点"是当前选中的节点项.访问者可以敲击回车,或者在这个节点上点击鼠标.然后,访问者可以使用键盘上的箭头来沿着树状视图的层次结构进行定位。

时间: 2024-08-07 21:57:04

在.NET开发中灵活使用TreeView控件的相关文章

C/S模式开发中如何利用WebBrowser控件制作导航窗体

原文:C/S模式开发中如何利用WebBrowser控件制作导航窗体 转自: CSDN 相信不少同学们都做过MIS系统的开发,今天这里不讨论B/S模式开发的问题.来谈谈winform开发.用过市面上常见进销存系统的同学肯定知道,在进入系统之后一般在mdi窗体中系统自动打开一个导航子窗体.将一些常见的功能以非常直观的图形展示给用户.观察市面上的此类产品,该功能基本是所有mdi窗体开发的管理系统中必备的功能窗体.下面我们就来分析一下如何在.net中实现这个功能.幸好我上次做了一个类似的系统,里面也用到

iOS开发中一些手写控件及其相关属性的使用_IOS

手写控件,frame,center和bounds属性 一.手写控件 1.手写控件的步骤 (1)使用相应的控件类创建控件对象 (2)设置该控件的各种属性 (3)添加控件到视图中 (4)如果是button等控件,还需考虑控件的单击事件等 (5)注意:View Contollor和view的关系 2.注意点 在OC开发中,Storyboard中的所有操作都可以通过代码实现,程序员一定要熟练掌握代码布局界面的能力! 设置控件监听方法的示例代码如下: 复制代码 代码如下: [btn addTarget:s

详解iOS App开发中改变UIButton内部控件的基本方法_IOS

UIButton内部默认有个UIImageView.UILabel控件,可以分别用下面属性访问: 复制代码 代码如下: @property(nonatomic,readonly,retain) UIImageView *imageView; @property(nonatomic,readonly,retain) UILabel     *titleLabel; UIButton之所以能显示文字,完全是因为它内部的titleLabel也,也就是说,UIButton的setTitle:forSta

在Android开发中使用自定义组合控件的例子_Android

一.定义一个XML布局文件setting_item_view.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height=

在Android开发中使用自定义组合控件的例子

一.定义一个XML布局文件 setting_item_view.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height

iOS App开发中的UIPageControl分页控件使用小结_IOS

分页控件是一种用来取代导航栏的可见指示器,方便手势直接翻页,最典型的应用便是iPhone的主屏幕,当图标过多会自动增加页面,在屏幕底部你会看到原点,用来只是当前页面,并且会随着翻页自动更新.一.创建 复制代码 代码如下: UIPageControl* myPageControl = [[UIPageControl alloc]initWithFrame:CGRectMake(0.0, 400.0, 320.0, 0.0)];  二.设置属性页面数目 复制代码 代码如下: myPageContro

WinForm开发中针对TreeView控件改变当前选择节点的字体与颜色

本文转载:http://www.cnblogs.com/umplatform/archive/2012/08/29/2660240.html 在B/S开发中,对TreeView控件要改变当前选中节点的颜色比较方便,其有相应的SelectedNodeChanged事件进行控制,但对于WinForm则没有这样方便.申明一下,我在这儿所说的改变当前节点的字体与颜色,主要是在WinForm中的TreeView控件,当前选中节点后,其失去鼠标焦点后节点的字体与颜色失去了选中状态,层级一多,我们就不知道当前

ASP.NET中TreeView控件使用小结

asp.net|treeview|控件 中国IT动力,最新最全的IT技术教程最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 未整理篇 | 技术讨论 ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql 服务器 Win2000

在ASP.NET中使用Treeview控件和XML

asp.net|treeview|xml|控件 以前,在WEB页面中如果想使用树形控件的话,往往会有些麻烦,有时甚至要自己写代码来达到用树形列表显示数据的目的.在asp.net中,我们可以很方便地使用由微软提供的Internet Exploer Web Controls控件来实现树形列表.在微软提供的这套Internet Exploere Web Controls控件集合中,包括有MultiPage,TabStrip,TOOLbar,Treeview控件.在这篇文章中,我们来看在ASP.net中