您的位置:首页 > 编程语言 > ASP

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

2006-06-26 12:03 295 查看
在ASP.NET中用树视图管理系统目录

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

[align=left][/align]
[align=left]运行之后就是一棵以父目录编号为“0”的目录为根结点的目录树。[/align]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息