1 前台:
2 <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="TreeView._Default" %>
3
4 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
5
6 <html xmlns="http://www.w3.org/1999/xhtml" >
7 <head runat="server">
8 <title></title>
9 </head>
10 <body>
11 <form id="form1" runat="server">
12 <div>
13 <asp:TreeView ID="TreeView1" runat="server" ShowLines="True">
14 </asp:TreeView>
15 </div>
16 </form>
17 </body>
18 </html>
19
20
21
22 后台:
23 using System;
24 using System.Collections.Generic;
25 using System.Linq;
26 using System.Web;
27 using System.Web.UI;
28 using System.Web.UI.WebControls;
29 using System.Data;
30 using System.Data.SqlClient;
31 using System.Configuration;
32
33 namespace TreeView
34 {
35 public partial class _Default : System.Web.UI.Page
36 {
37 public static string st = ConfigurationManager.ConnectionStrings["sql"].ToString();
38 private DataTable dts=new DataTable();
39 protected void Page_Load(object sender, EventArgs e)
40 {
41 if (!IsPostBack)
42 {
43 dts = CreateTable();
44 CreateNode();
45 }
46 }
47 public void CreateNode()
48 {
49 DataRow[] dr = dts.Select("ParentID=0");
50 if(dr.Length>0)
51 {
52 foreach(DataRow drr in dr)
53 {
54 TreeNode tn = new TreeNode();
55 tn.Value = drr["MenuID"].ToString();
56 tn.Text = drr["MenuName"].ToString();
57 tn.Expanded = false;
58 tn.SelectAction = TreeNodeSelectAction.Expand;
59 TreeView1.Nodes.Add(tn);
60 CreateChild(tn,dts);
61 }
62 }
63 else
64 {
65 TreeNode t=new TreeNode();
66 t.Value="空";
67 t.Text="空";
68 t.Expanded=false;
69 t.SelectAction=TreeNodeSelectAction.Expand;
70 TreeView1.Nodes.Add(t);
71 }
72 }
73 public void CreateChild(TreeNode tnn, DataTable dtt)
74 {
75 DataRow[] dr = dtt.Select("ParentID=" + tnn.Value);
76 if (dr.Length > 0)
77 {
78 foreach (DataRow drw in dr)
79 {
80 TreeNode ts = new TreeNode();
81 ts.Value = drw["MenuID"].ToString();
82 ts.Text = drw["MenuName"].ToString();
83 ts.SelectAction = TreeNodeSelectAction.Expand;
84 ts.Expanded = false;
85 tnn.ChildNodes.Add(ts);
86 CreateChild(ts, dtt);
87 }
88 }
89 }
90 public DataTable CreateTable()
91 {
92 DataTable d = new DataTable();
93 using(SqlConnection sql=new SqlConnection(st))
94 {
95
96 SqlCommand sq=new SqlCommand("select * from TreeViewName",sql);
97 SqlDataAdapter sda=new SqlDataAdapter();
98 sda.SelectCommand = sq;
99 sda.Fill(d);
100
101 }
102 return d;
103 }
104 }
105 }