ASP.NET中TreeView的运用

来源:     时间:2008-05-21     浏览量:91

  这里为了方便,将其设置为标识;

  PARENTID表示每个节点的上级节点ID,如该节点无上级,则为0;

  NODENAME是节点在页面上显示的名称;

  以上三个字段应不能为空

  ADDERSS地址;ICON节点图片;linkUrL节点链接地址;

  以上三个字段用与不用不是必须的,因实际情况而定,这里因为使用到所以列出来

  接着向设计窗体添加一个treeview控件如果还没添加过此控件的请到以下地址下载并安装,添加引用Microsoft.Web.UI.WebControls.dll然后到工具箱内添加控件http://msdn.microsoft.com/archive/en-us/samples/internet/asp_dot_net_servercontrols/webcontrols/default.asp

  下面是aspx.cs部分的代码

         using System;
  using System.Collections;

  using System.ComponentModel;using System.Data;using System.Drawing;

  using System.Web;using System.Web.SessionState;

  using System.Web.UI;using System.Web.UI.WebControls;

  using System.Web.UI.HtmlControls;

  using Microsoft.Web.UI.WebControls;

  namespace IOA{

  /// < summary> /// WebForm1 的摘要说明。

  /// < /summary>

  public class WebForm1 : System.Web.UI.Page

  { protected Microsoft.Web.UI.WebControls.TreeView TreeView1;

  protected Classes.Deptartment myDt=new IOA.Classes.Deptartment();//我把与数据库链接以及对数据库的操作请求写在此类中    这里数据库的链接就不具体写出来了,链接数据库以后    通过select * from test返回值传给程序中的ds变    量即可,记得返回的值的类型是DataSet

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

  {  InitTreeView(this.TreeView1.Nodes);

  // 在此处放置用户代码以初始化页面 }

  public void InitTreeView(TreeNodeCollection node)

  {

  this.InitTree(node,"0");

  }

  public void InitTree(TreeNodeCollection Nds,string parentId)

  {

  DataSet ds=new DataSet();

  ds=myDt.TreeInfo();

  DataView dv = new DataView();

  TreeNode tmpNd;

  string intId;

  dv.Table = ds.Tables[0];

  dv.RowFilter = "PARENTID = " + parentId;

  foreach(DataRowView drv in dv)  {

  tmpNd = new TreeNode();

  tmpNd.ID = drv["NODEID"].ToString();

  if(drv["linkUrL"].ToString().Trim() != "")

  {

  tmpNd.Text = "< a href ='"+drv["linkUrL"].ToString().Trim() +"'target='mainFrame'>"+drv["NODENAME"].ToString()+"< /a>";

  }

  else

  {

  tmpNd.Text = drv["NODENAME"].ToString();

  }

  Nds.Add(tmpNd);

  intId = drv["PARENTID"].ToString();

  InitTree(tmpNd.Nodes,tmpNd.ID);

  }

  }

  #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 }}

→ 查看关于“计算机/IT认证”的全部考试资料
沈阳优网互联信息服务有限公司 版权所有 辽ICP备08007732号
Copyright ©2006-2007 Ueu5.com All Rights Reserved