这篇文章主要介绍了ASP.NET TreeView读取数据库实例,有需要的朋友可以参考一下
前台: 复制代码 代码如下: <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.cs" Inherits="TreeView._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 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>
后台: 复制代码 代码如下: using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Data; using System.Data.SqlClient; using System.Configuration;
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; } } }
|