科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道基础软件ASP.NET中TreeView的运用

ASP.NET中TreeView的运用

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

首先需要创建一个数据库表test,字段包括NODEID、PARENTID、NODENAME、ADDERSS、ICON、linkUrLNODEID是在数据库中作为节点的唯一标识,这里为了方便,将其设置为标识;

作者:中国IT实验室 来源:中国IT实验室 2007年9月3日

关键字: TreeView ASP.NET

  • 评论
  • 分享微博
  • 分享邮件
  首先需要创建一个数据库表test,字段包括NODEID、PARENTID、NODENAME、ADDERSS、ICON、linkUrLNODEID是在数据库中作为节点的唯一标识,这里为了方便,将其设置为标识;
  
  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领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章