ASP.NET TreeView讀取數(shù)據(jù)庫實(shí)例
前臺:
<%@ 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;
}
}
}
相關(guān)文章
Asp.net SignalR 讓實(shí)時(shí)通訊變得如此簡單
下面小編就為大家分享一篇Asp.net SignalR 讓實(shí)時(shí)通訊變得如此簡單,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01ASP.NET?使用?Dispose?釋放資源的四種方法詳細(xì)介紹
本篇文章主要介紹了ASP.NET?使用?Dispose?釋放資源的四種方法,有興趣的同學(xué)可以來看看,喜歡的話記得收藏一下哦,方便下次瀏覽觀看2021-11-11ASP.NET操作Word的IIS權(quán)限設(shè)置
檢索 COM 類工廠中 CLSID 為 {00024500-0000-0000-C000-000000000046} 的組件時(shí)失敗,原因是出現(xiàn)以下錯(cuò)誤: 80070005。2011-02-02GridView控件實(shí)現(xiàn)數(shù)據(jù)的顯示和刪除(第8節(jié))
這篇文章主要介紹了GridView控件實(shí)現(xiàn)數(shù)據(jù)的顯示和刪除,以新聞網(wǎng)站為例,實(shí)現(xiàn)對新聞數(shù)據(jù)的操作,了解各種數(shù)據(jù)源控件與數(shù)據(jù)綁定控件的類型和作用,需要的朋友可以參考下2015-08-08ASP.NET 服務(wù)器路徑和一般資源調(diào)用
ASP.NET 服務(wù)器路徑和一般資源調(diào)用,實(shí)現(xiàn)代碼。2009-08-08asp.net 使用js分頁實(shí)現(xiàn)異步加載數(shù)據(jù)
這篇文章主要介紹了asp.net使用js分頁實(shí)現(xiàn)異步加載數(shù)據(jù),需要的朋友可以參考下2014-04-04asp.net 分頁顯示數(shù)據(jù)表的數(shù)據(jù)的代碼
asp.net顯示第一頁、上一頁、下一頁和最后一頁的分頁顯示數(shù)據(jù)表的數(shù)據(jù)2010-03-03