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;
}
}
}
相关文章
asp.net结合aspnetpager使用SQL2005的存储过程分页
项目中用到了,同事阿春写了例子,并在实际项目中使用了,记录下。感谢春哥的无私奉献。2009-07-07
使用dotnet-dump 查找 .net core 3.0 占用CPU 100%的原因解析
这篇文章主要介绍了使用dotnet-dump 查找 .net core 3.0 占用CPU 100%的原因,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下2019-06-06
Entity Framework Core基于数据模型创建数据库
这篇文章介绍了Entity Framework Core基于数据模型创建数据库的方法,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2022-04-04


最新评论