在ASP.NET中用树视图管理系统目录

在ASP.NET中用树视图管理系统目录

当 TreeView IE Web 控件在访问者浏览器中显示时,会显示一棵树,此树与 Windows 资源管理器中的树非常类似。不同的是,TreeView 可以由任意多个 TreeNode 对象组成。每个 TreeNode 对象都可以关联文本和图像。
另外,TreeNode 还可以显示为超链接并与某个 URL 相关联。每个 TreeNote 还可以包括任意多个子 TreeNote 对象。包含 TreeNode 及其子节点的层次结构构成了 TreeView 控件所呈现的树结构。   
首先在数据库中建一个目录数据表lists:
字段名 字段类型 字段长度 备注
l_id int 4 目录编号
l_name nvarchar 50 目录名称
pl_id int 4 所对应的上一级目录的编号
url varchar 50 目录所对应的地址
代码:
 
  private SqlDataAdapter da;
  private SqlConnection cn;
  private DataSet ds;
 
  private void Page_Load(object sender, System.EventArgs e)
  {
   // 在此处放置用户代码以初始化页面
   cn=new SqlConnection(ConfigurationSettings.AppSettings["LISTS"]);
   GetResult();
   ShowTree(tv1.Nodes,"0");//0是整个目录根结点的上一级目录编号
  }
 
  private DataSet GetResult()
  {
   da=new SqlDataAdapter("select * from lists",cn);
   ds=new DataSet();
   da.Fill(ds);
   return ds;
  }
  private void ShowTree(TreeNodeCollection nds,string pf_id)
  {
   DataView dv=new DataView();
   TreeNode tmpnd;
   string id;
   dv.Table=ds.Tables[0];
   dv.RowFilter="pf_id="+pf_id;
   foreach(DataRowView drv in dv)
   {
    tmpnd=new TreeNode();
    tmpnd.ID=drv["f_id"].ToString();
    tmpnd.Text=drv["f_name"].ToString();
    tmpnd.NavigateUrl=drv["url"].ToString();
    //在目录之前插入图片
    tmpnd.ImageUrl="图片路径";
    tmpnd.SelectedImageUrl="图片路径";
    tmpnd.ExpandedImageUrl="图片路径";

    nds.Add(tmpnd);
    id=drv["pf_id"].ToString();
    ShowTree(tmpnd.Nodes,tmpnd.ID);
   }
  }
运行之后就是一棵以父目录编号为“0”的目录为根结点的目录树。
阅读更多
个人分类: 学习交流
上一篇在ASP.NET中实现隐藏IE浏览器的菜单栏
想对作者说点什么? 我来说一句

asp.net 经典树形菜单

2008年10月09日 32KB 下载

asp.net 目录树的实现

2010年12月20日 3KB 下载

没有更多推荐了,返回首页

关闭
关闭