动态加载树

原创 2004年08月13日 16:15:00
 

动态加载树

 

陈根发

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

命题:从数据库读取字段值作为树的节点

 

实现:

一.把字段值取出放到DataSet

二.添加一个根节点

三.添加相应的子节点

 

代码如下

using System;

using System.Drawing;

using System.Collections;

using System.ComponentModel;

using System.Windows.Forms;

using System.Data;

 

namespace WindowsApplication3

{

     ///

     /// Form1 的摘要说明。

     ///

     public class Form1 : System.Windows.Forms.Form

     {

         private System.Windows.Forms.TreeView treeView1;

         ///

         /// 必需的设计器变量。

         ///

         private System.ComponentModel.Container components = null;

 

         public Form1()

         {

              //

              // Windows 窗体设计器支持所必需的

              //

              InitializeComponent();

 

              //

              // TODO: 在 InitializeComponent 调用后添加任何构造函数代码

              //

         }

 

         ///

         /// 清理所有正在使用的资源。

         ///

         protected override void Dispose( bool disposing )

         {

              if( disposing )

              {

                   if (components != null)

                   {

                       components.Dispose();

                   }

              }

              base.Dispose( disposing );

         }

 

         #region Windows 窗体设计器生成的代码

         ///

         /// 设计器支持所需的方法 - 不要使用代码编辑器修改

         /// 此方法的内容。

         ///

         private void InitializeComponent()

         {

              this.treeView1 = new System.Windows.Forms.TreeView();

              this.SuspendLayout();

              //

              // treeView1

              //

              this.treeView1.Dock = System.Windows.Forms.DockStyle.Bottom;

              this.treeView1.ImageIndex = -1;

              this.treeView1.Location = new System.Drawing.Point(0, 137);

              this.treeView1.Name = "treeView1";

              this.treeView1.SelectedImageIndex = -1;

              this.treeView1.Size = new System.Drawing.Size(352, 136);

              this.treeView1.TabIndex = 0;

              this.treeView1.AfterSelect += new System.Windows.Forms.TreeViewEventHandler(this.treeView1_AfterSelect);

              //

              // Form1

              //

              this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);

              this.ClientSize = new System.Drawing.Size(352, 273);

              this.Controls.Add(this.treeView1);

              this.Name = "Form1";

              this.Text = "Form1";

              this.Load += new System.EventHandler(this.Form1_Load);

              this.ResumeLayout(false);

 

         }

         #endregion

 

         ///

         /// 应用程序的主入口点。

         ///

         [STAThread]

         static void <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />Main()

         {

              Application.Run(new Form1());

         }

 

         private void treeView1_AfterSelect(object sender, System.Windows.Forms.TreeViewEventArgs e)

         {

        

         }

 

         private void Form1_Load(object sender, System.EventArgs e)

         {

              ShowForm();

         }

         private void ShowForm ()

{

              treeView1.Nodes.Clear() ;

              System.Windows.Forms.TreeNode mNode=new TreeNode("全部");

              //mNode.ImageIndex =1;

              treeView1.Nodes.Add(mNode) ;

              //假设DataSet 已经取得

              System.Windows.Forms.TreeNode nNode=new TreeNode("在职");

              System.Windows.Forms.TreeNode pNode=new TreeNode("离职");

              treeView1.TopNode.Nodes.Add(nNode) ;

              treeView1.TopNode.Nodes.Add(pNode) ;

              treeView1.Select ();

              if (ds.Tables [0].Rows.Count <=0 )

              {

                   return;

              }

              else

              {

                   // add Add some childtreenodes

 

                   foreach(DataRow dr in ds.Tables [0].Rows )

                   {

                                              

System.Windows.Forms.TreeNode aNode=new TreeNode(dr["Name"].ToString() );

System.Windows.Forms.TreeNode bNode=new TreeNode(dr["Name"].ToString());

                       treeView1.Nodes [0].Nodes[0].Nodes .Add (aNode);

                       treeView1.Nodes [0].Nodes[1].Nodes .Add (bNode);

                   }

              }

}

 

     }

}

 好了,节点的值就是字段值!

 

------------------------------------------------------------------------------------------------------------

 

 

声明:本文版权与解释权归陈根发所有,如需转载,请保留完整的内容及此声明。

QQ: 78607770

E-Mail: chenyu0720@hotmail.com

 

 

 

jquery来制作动态加载树

最近更新的后台树节点的加载方式。因为以前用的是jquery-treeview插件。 但是上网查了下资料,发现用它来实现树节点的动态加载还是挺麻烦的。于是我自己写了个动态加载的方式。下面贴代码。 ...
  • youyou_yo
  • youyou_yo
  • 2016年03月23日 11:49
  • 405

flex树动态加载

背景:一次加载所有的数据,性能非常低下,所以默认只加载第一层,当点击的时候再去加载下面的孩子数据                           点击后 ------------------...
  • goodleiwei
  • goodleiwei
  • 2013年12月13日 17:46
  • 3786

Ext4使用总结(六)树的动态加载,分支的刷新

对于Ext4的树,与Ext.grid.Panel是属于同一个父类Ext.panel.Table,所有有树的有许多的基本特性可以参照Table和grid来学习,当然树也有自己的特性。如下图: 在树...
  • lihxa2002
  • lihxa2002
  • 2016年11月07日 09:16
  • 880

C#动态加载树菜单

在做权限系统的时候,需要有一个树形的菜单。下图就是一个树形菜单的样式     但问题是,我们可以实现写死的树形菜单。什么是写死的?就是在前台代码中写好要加载的树形菜单是什么样子的。但是我们权限系...
  • huanjileaimeidan
  • huanjileaimeidan
  • 2014年03月21日 00:00
  • 2910

Swing树组件的使用

Swing树组件一、简单的树树状结构是一种常用的信息表现形式,它可以直观的显示出一组信息的层次结构。Swing中的JTree类是用来创建树的,该类的常用构造方法如下:JTree():创建一个默认的树J...
  • sbcxylyt
  • sbcxylyt
  • 2018年01月02日 13:16
  • 22

C#动态加载树菜单

在做权限系统的时候,需要有一个树形的菜单。下图就是一个树形菜单的样式     但问题是,我们可以实现写死的树形菜单。什么是写死的?就是在前台代码中写好要加载的树形菜单是什么样子的。但是我们权限系...
  • kokeng89
  • kokeng89
  • 2014年06月21日 12:22
  • 399

java树 JTree实例(可动态添加节点)

java树 JTree实例(可动态添加节点)
  • jacke121
  • jacke121
  • 2017年04月22日 00:04
  • 972

ztree 动态加载

/**ztree **/ #menuContent ul.ztree { border: 1px solid #617775; background: #f0f6e4; width: 1...
  • maxuyang1987
  • maxuyang1987
  • 2013年08月23日 15:16
  • 5132

extjs4 动态加载树菜单和相应的按钮是否显示 ,到对权限的控制粒度细化到按钮

初步想到对权限的控制的就是树菜单从数据库加载,同时也加载相应 增删改查 按钮setVisible和setDisabled的true or false值。 我这里演示用手动设置这些值模拟数据库查询到的...
  • yangxuan0261
  • yangxuan0261
  • 2013年09月05日 10:57
  • 1884

easy UI异步树的动态加载treegrid(实践记录)

JSP 页面     pageEncoding="UTF-8"%>                                       ...
  • VS0layer
  • VS0layer
  • 2016年11月16日 09:51
  • 1054
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:动态加载树
举报原因:
原因补充:

(最多只允许输入30个字)