ASP.NET TreeView 树控件实例

  页面代码Default.aspx

View Code
<%@ Page Language="C#" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>无标题页</title>
</head>
<body>
<form id="form1" runat="server">
<div>

<asp:TreeView ID="tvMenu" runat="server" ImageSet="Faq" ShowLines="True" ExpandDepth="0" Target="middle" >
<ParentNodeStyle Font-Bold="False" />
<HoverNodeStyle Font-Underline="True" ForeColor="Purple" />
<SelectedNodeStyle Font-Underline="True" HorizontalPadding="0px" VerticalPadding="0px" />
<NodeStyle Font-Names="Tahoma" Font-Size="8pt" ForeColor="DarkBlue" HorizontalPadding="5px"
NodeSpacing
="0px" VerticalPadding="0px" />
</asp:TreeView>

</div>
</form>
</body>
</html>



后台代码
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
SqlConnection Conn
= new SqlConnection("server=.;database=Test;uid=sa;pwd=68432");
DataSet ds;
protected void Page_Load(object sender, EventArgs e)
{
Conn.Open();
this.createDataSet();
Conn.Close();
this.InitTree(tvMenu.Nodes, "0");
}
private DataSet createDataSet()//返回数据库表
{
ds
= new DataSet();
string sqlStr = "select * from Tree ";
SqlDataAdapter cmdSelect
= new SqlDataAdapter(sqlStr, Conn);
cmdSelect.Fill(ds,
"Tree");
return ds;
}
protected void InitTree(TreeNodeCollection Nds, string parentId)//用递归方法动态生成节点
{
DataView dv
= new DataView();
TreeNode tmpNode;
dv.Table
= ds.Tables["Tree"];
dv.RowFilter
= "ParentId=" + "'" + parentId + "'";
foreach (DataRowView drv in dv)
{
tmpNode
= new TreeNode();
tmpNode.Value
= drv["Id"].ToString();
tmpNode.Text
= drv["Name"].ToString();
//tmpNode.NavigateUrl = "#";//设置超链接
tmpNode.SelectAction = TreeNodeSelectAction.None;//禁用超链接属性
tmpNode.ExpandAll();//展开所有子节点
Nds.Add(tmpNode);
this.InitTree(tmpNode.ChildNodes, tmpNode.Value);
}
}
}

//数据库脚本

--建立一个Test数据库
if exists(select * from sysobjects where name='Tree')
drop table Tree
create table Tree
(
id int identity(1,1)primary key,
ParentId varchar(20) null,
[Name] varchar(20) null,
Url varchar(100) null,
Target varchar(20) null,
Enabled varchar(20) null,
[Power] varchar(20) null
)
insert into Tree values('0','系统管理','default.aspx','_blank','true','ABC')
insert into Tree values('0','专业管理','default.aspx','_blank','true','ABC')
insert into Tree values('0','班级管理','default.aspx','_blank','true','ABC')
insert into Tree values('0','学生管理','default.aspx','_blank','true','ABC')
insert into Tree values('1','系统部浏览','default.aspx','_blank','true','ABC')
insert into Tree values('1','系部增加','default.aspx','_blank','true','ABC')
insert into Tree values('1','系部编辑','default.aspx','_blank','true','ABC')
insert into Tree values('1','系部删除','default.aspx','_blank','true','ABC')
insert into Tree values('2','教研室浏览','default.aspx','_blank','true','ABC')
insert into Tree values('2','科研部门','default.aspx','_blank','true','ABC')
insert into Tree values('2','国防部门','default.aspx','_blank','true','ABC')

posted on 2011-05-22 10:22  #阿志#  阅读(598)  评论(0)    收藏  举报