网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > ASP.NET技巧
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.ASP.NET 2.0中的输出缓存.
.ASP.NET与MySQL数据库简明图示入.
.将以前写的SQL2分查找法通用分页.
.在ASP.NET应用程序中捕捉身份验证.
.如何显示在线人数和所在位置.
.MSBuild, NAnt, NUnit, MSTest所.
.ASP 2.0 数据绑定函数Eval()的机.
.ASP.NET设计网络硬盘之两重要类.
.一个在移动设备中获取路径的方法.
.让你的.NET应用成为一个灰色盒子.
.ASP.NET通过DSO访问分析服务器的.
.关于脏字典过滤问题-用正则表达.
.Asp.net中如何过滤html,js,css代.
.在atlas里面的UpdatePanel控件中.
.IIS运行不了ASP.NET的解决办法.
.ASP.NET 2.0 中好东西(theme)介绍.
.在ASP.NET应用中插入flash动画.
.IBatisNet系列-执行存储过程.
.在虚拟主机上用asp.net轻松实现u.
.怎样在Web开发中完美控制IE标题栏.

TreeView使用笔记

发表日期:2003-12-29


TreeView使用笔记


TreeView由节点构成,建树通过对TreeView.items属性进行操作。Items是一个TTreeNodes对象,这是一个TTreeNode集。


一、针对TTreeNodes,也就是 TreeView.Items,有这些属性:

1、count,节点个数。

2、item[index]  ,通过index得到节点。


二、针对TTreeNodes,也就是 TreeView.Items,常用的添加节点的操作有:

AddFirst添加第一个根节点。由此函数添加的节点总排在前面,除非后来又使用此函数添加了一个节点,则后添加的节点将排在前面。该函数返回新添加的节点。

AddChildFirst添加第一个子节点,要求有父节点作为其参数。返回新添加的节点。

AddChild添加一个子节点,要求有父节点作为其参数。返回新添加的节点。

Add添加一个兄弟节点,要求有兄弟节点作为其参数。返回新添加的节点。


三、针对TTreeNodes,也就是 TreeView.Items,常用的得到节点的操作有:

GetFirstNode() 得到根节点。

然后配合TTreeNode.GetNext(),就可以访问所有的节点。


四、建树举例:


var

  root_node,cur_node:TTreeNode;

begin

  root_node:=AddFirst(nil,'根节点1');

  cur_node:=addChildfirst(root_node,nil,'根节点1_child1');

  add(cur_node,'根节点1_child2');

  root_node:=Add(nil,'根节点2');

  AddChildFirst(root_node,''根节点2_child1');  

end;


 


五、事件触发:

当从一个节点跳到另一个节点,会触发TTreeView.OnChange事件。该事件中,将传递node,即当前被选中的节点。


当修改一个节点的text时,会触发TTreeView.onEdit事件。

 

六、将节点和节点所对应的数据联系起来

对于每个TTreeNode,有个Data属性,可以存放一个指针。我们可以利用这个域来存放与节点对应的自己的数据。

1.我们先定义一个数据结构,作为记录我们要记录的数据。如:

type 

  PMyData=^TMyData;

  TMyData=Record

    sFName:string;

    sLName:String;

    nIndex:integer;

  end;


2.然后,创建数时,将节点和节点数据联系起来:

procedure TForm1.Button1Click(Sender: TObject);

var

  myshuju: PMyData

  cur_node:TTreeNode;

begin

  New(MyRecPtr);  //记住,一定要先分配内存。有几个节点,就要分配几次内存。

  myshuju^.FName:=Edit1.Text;

  Myshuju^.LName := Edit2.Text;

  TreeViewIndex := StrToInt(Edit3.Text);

  with TreeView1 do

  begin

    cur_node:=items.AddFirst(nil,'first');

    cur_node.data:=myshuju;

  end;

end;


3.当我们选中一个节点时,就可以使用我们的数据了。

procedure  TForm1.TreeView1Change(Sender:TObject;Node:TTreeNode);

begin

   if node.data<>nil then

    self.label1.caption:=pmyData(node.data)^.Fname+pmyData(node.data)^.Lname

end;

 

七、一般使用流程:

1、添加全局变量:

   b_first:boolean;  //记录是否是第一次访问节点,因为此时数据还未准备好,而一旦访问节点就会触发OnChange事件,在此事件处理函数中也许会出错。

2、在FormCreate中,

  a、设置b_first:=true;

  b. 创建数并将节点与数据联系。

3、在FormShow中

  设置b_first:=false;

4.在事件OnChange中处理节点被选中事件。

5.在Edit中处理节点被修改Text事件。

  并调用OnChange.

6.在 TreeView.Destory中

  释放Data 中指向的内存空间。

 

上一篇:我的aspx为什么无法显示中文 人气:13481
下一篇:ASP.NET编程中的十大技巧 人气:12732
浏览全部TreeView的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐