时间:2020-12-22 17:35:58 | 栏目:.NET代码 | 点击:次
前台:
<!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 runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:TreeView ID="TreeView1" runat="server" ShowLines="True">
</asp:TreeView>
</div>
</form>
</body>
</html>
后台:
namespace TreeView
{
public partial class _Default : System.Web.UI.Page
{
public static string st = ConfigurationManager.ConnectionStrings["sql"].ToString();
private DataTable dts=new DataTable();
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
dts = CreateTable();
CreateNode();
}
}
public void CreateNode()
{
DataRow[] dr = dts.Select("ParentID=0");
if(dr.Length>0)
{
foreach(DataRow drr in dr)
{
TreeNode tn = new TreeNode();
tn.Value = drr["MenuID"].ToString();
tn.Text = drr["MenuName"].ToString();
tn.Expanded = false;
tn.SelectAction = TreeNodeSelectAction.Expand;
TreeView1.Nodes.Add(tn);
CreateChild(tn,dts);
}
}
else
{
TreeNode t=new TreeNode();
t.Value="空";
t.Text="空";
t.Expanded=false;
t.SelectAction=TreeNodeSelectAction.Expand;
TreeView1.Nodes.Add(t);
}
}
public void CreateChild(TreeNode tnn, DataTable dtt)
{
DataRow[] dr = dtt.Select("ParentID=" + tnn.Value);
if (dr.Length > 0)
{
foreach (DataRow drw in dr)
{
TreeNode ts = new TreeNode();
ts.Value = drw["MenuID"].ToString();
ts.Text = drw["MenuName"].ToString();
ts.SelectAction = TreeNodeSelectAction.Expand;
ts.Expanded = false;
tnn.ChildNodes.Add(ts);
CreateChild(ts, dtt);
}
}
}
public DataTable CreateTable()
{
DataTable d = new DataTable();
using(SqlConnection sql=new SqlConnection(st))
{
SqlCommand sq=new SqlCommand("select * from TreeViewName",sql);
SqlDataAdapter sda=new SqlDataAdapter();
sda.SelectCommand = sq;
sda.Fill(d);
}
return d;
}
}
}