动态加载树

原创 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:20
  • 512

动态加载树动态加载树动态加载树

  • 2009年05月30日 16:45
  • 2KB
  • 下载

基于Xml的动态加载树

  • 2008年04月14日 09:46
  • 49KB
  • 下载

用ExtJS 实现动态载入树(Load tree)

 用ExtJS  实现动态载入树(Load tree)1、  数据库背景:这里有一个组织机构表,结构如下:Oracle DDL脚本 :create table  ORGANIZATION(  ORGI...
  • myloon
  • myloon
  • 2007-11-09 14:23:00
  • 26904

利用Ajax实现树的动态加载

      在很多项目中我们都会用到树,或者用类似的TreeView控件,或者直接用JavaScript和HTML来直接实现。一般情况下,我们都是一次性将所有的节点都加载到树上,当树的节点不是很多的情...
  • sallay
  • sallay
  • 2008-09-26 22:18:00
  • 4384

asp.net动态加载JavaScript树

  • 2008年07月10日 14:26
  • 104KB
  • 下载

jquery 动态加载树

  • 2013年03月03日 15:36
  • 54KB
  • 下载

jQuery写的一棵动态加载的树

一个棵自己写的jQuery的树。与大家分享一下。 主要用于动态加载子节点,避免大数据量加载页面慢的情况。 展示效果: 下面贴上源码: css部分: ...
  • youyou_yo
  • youyou_yo
  • 2015-09-21 16:48:57
  • 1069

用ExtJS实现动态载入树

  • 2012年03月21日 13:50
  • 291KB
  • 下载
收藏助手
不良信息举报
您举报文章:动态加载树
举报原因:
原因补充:

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