TreeView 使用范例

来源:互联网 发布:java中数组的sort方法 编辑:程序博客网 时间:2024/05/17 02:10

 using System;
 using System.Data;
 using System.Data.SqlClient;
 using System.Drawing;
 using System.Web;
 using System.Web.UI.WebControls;
 using System.Web.UI.HtmlControls; 

 using Microsoft.Web.UI.WebControls;

 /// <summary>
 ///  yellowPageVClassList 的摘要说明。
 /// </summary>
 public class yellowPageVClassList : System.Web.UI.UserControl
 {
  protected Microsoft.Web.UI.WebControls.TreeView TreeView1;

  private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放置用户代码以初始化页面
      if( !IsPostBack )
      {    
           InitTreeRootNode();
      }
  }

  /// <summary>
  /// 加载商务信息分类树型结构
  /// </summary>
  /// <param name="nds"></param>
  /// <param name="parentID"></param>
  private void InitTreeRootNode()
  {
   try
   {    
    DataView dv = new DataView();
    dv = //获取父节点的数据集合(省略);
    TreeNode tmpNd;

    foreach( DataRowView drv in  dv )
    {
     tmpNd = new TreeNode();
     tmpNd.Text = "<span onmouseover=javascript:title='"+drv["Name"].ToString()+"'>"+drv["Name"].ToString()+"</span>";
     tmpNd.ID = drv["ID"].ToString();
     tmpNd.NavigateUrl = "javascript:void(null)";
     tmpNd.NavigateUrl = "url?classID=" + drv["ID"].ToString();
     TreeView1.Nodes.Add(tmpNd);
     InitTreeChildNode(tmpNd,Convert.ToInt32(drv["ID"])); //递归遍历所有子节点
    }
    
   }
   catch( Exception ex )
   {
    throw( ex );
   }
  }

  /// <summary>
  /// 加分类树型结构子节点
  /// </summary>
  /// <param name="nds"></param>
  /// <param name="parentID"></param>
  private void InitTreeChildNode(TreeNode nds,int parentID)
  {
   try
   {    
    DataView dv = new DataView();
    dv = //根据父节点parentID获取子节点数据集合(省略);
    TreeNode tmpNd;

    foreach( DataRowView drv in  dv )
    {
     tmpNd = new TreeNode();
     tmpNd.Text = drv["Name"].ToString();
     tmpNd.ID = drv["ID"].ToString();
     tmpNd.NavigateUrl = "url?classID=" + drv["ID"].ToString();
     nds.Nodes.Add(tmpNd);
     InitTreeChildNode(nds,Convert.ToInt32(drv["ID"].ToString()));
    }
    
   }
   catch( Exception ex )
   {
    throw( ex );
   }
  }

  #region Web 窗体设计器生成的代码
  override protected void OnInit(EventArgs e)
  {
   //
   // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
   //
   InitializeComponent();
   base.OnInit(e);
  }
  
  /// <summary>
  ///  设计器支持所需的方法 - 不要使用代码编辑器
  ///  修改此方法的内容。
  /// </summary>
  private void InitializeComponent()
  {
   this.Load += new System.EventHandler(this.Page_Load);

  }
  #endregion
 }

原创粉丝点击