ASP.NET 递归将分类绑定到 TreeView
来源:互联网 发布:百度地图js touchend 编辑:程序博客网 时间:2024/05/16 17:10
创建表及插入模拟数据:
CREATE TABLE [dbo].[sysMenuTree](
[NoteId] [decimal](18, 0) NOT NULL,[ParentId] [decimal](18, 0) NULL,
[sText] [nvarchar](50) NULL,
[sValue] [nvarchar](50) NULL,
[sURL] [nvarchar](50) NULL,
[sTarget] [nvarchar](50) NULL,
[Chger] [nvarchar](50) NULL,
[ChgTime] [nvarchar](50) NULL,
CONSTRAINT [PK_sysMenuTree] PRIMARY KEY CLUSTERED
(
[NoteId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
insert into sysMenuTree values(3,0,N'目錄',N'目錄','','','','')
insert into sysMenuTree values(4,0,N'目錄',N'目錄','','','','')
insert into sysMenuTree values(5,0,N'目錄',N'目錄','','','','')
insert into sysMenuTree values(6,3,N'項目.1',N'項目.1','','','','')
insert into sysMenuTree values(7,3,N'項目.2',N'項目.2','','','','')
insert into sysMenuTree values(8,4,N'項目.1',N'項目.1','','','','')
insert into sysMenuTree values(9,4,N'項目.2',N'項目.2','','','','')
insert into sysMenuTree values(10,4,N'項目.3',N'項目.3','','','','')
insert into sysMenuTree values(11,5,N'項目.1',N'項目.1','','','','')
insert into sysMenuTree values(12,5,N'項目.2',N'項目.2','','','','')
在ASP.NET中读取数据绑定到TreeView实现代码:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_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="treeMenu" runat="server">
</asp:TreeView>
</div>
</form>
</body>
</html>
using System;
using System.Web.UI.WebControls;
using System.Data;
using System.Data.SqlClient;
public partial class _Default : System.Web.UI.Page
{
private readonly string ConnString = @"server=.\MSSQLSERVER2008;database=chart;uid=sa;pwd=123456";
private DataTable dt = null;
protected void Page_Load(object sender, EventArgs e)
{
if(!IsPostBack)
{
dt = new DataTable();
GetMenuToDataTable("select * from sysMenuTree",dt);
BindTree(dt,null,"0");
}
}
private void BindTree(DataTable dtSource,TreeNode parentNode,string parentID)
{
DataRow[] rows = dtSource.Select(string.Format("ParentID={0}",parentID));
foreach(DataRow row in rows)
{
TreeNode node = new TreeNode();
node.Text = row["sText"].ToString();
node.Value = row["sValue"].ToString();
BindTree(dtSource,node,row["NoteId"].ToString());
if(parentNode == null)
{
treeMenu.Nodes.Add(node);
}
else
{
parentNode.ChildNodes.Add(node);
}
}
}
private DataTable GetMenuToDataTable(string query,DataTable dt)
{
using(SqlConnection conn = new SqlConnection(ConnString))
{
SqlCommand cmd = new SqlCommand(query,conn);
SqlDataAdapter ada = new SqlDataAdapter(cmd);
ada.Fill(dt);
}
return dt;
}
}
- ASP.NET 递归将分类绑定到 TreeView
- ASP.NET 递归将分类绑定到 TreeView
- ASP.NET 递归将分类绑定到 TreeView
- ASP.NET 递归 绑定TreeView
- ASP.NET 读数据库绑定到 TreeView 递归方式
- ASP.NET - 将数据绑定到 TreeView Web 服务器控件
- ASP.NET TreeView 递归绑定数据
- asp.net 绑定TreeView
- ASP.NET树形控件TreeView的递归绑定
- ASP.NET用递归法绑定Treeview控件
- ASP.net 2005 Treeview 无限分类非递归终极解决方案
- 递归绑定数据到treeview
- asp.net treeview绑定xmldatasource
- ASP.NET TreeView显示分类
- asp.net treeview递归写法
- ASP.net 2005 Treeview 无限分类非地递归终极解决方案
- ASP.net 2005 Treeview 无限分类非地递归终极解决方案
- ASP.net 2005 Treeview 无限分类非地递归终极解决方案
- volatile关键字
- Linux命令之查找
- python二维码库pyqrcode-0.2.1安装使用
- 批处理
- C++小知识之指针和引用的区别
- ASP.NET 递归将分类绑定到 TreeView
- Java中4种类型的内部类
- 怎样选择线阵相机,线阵镜头,线阵光源
- Java - 错误: "java.lang.ArrayIndexOutOfBoundsException: length=1; index=1"
- Linux命令之编辑
- Timus 1545. Hieroglyphs Trie的即学即用 实现字典提示功能
- Java图形界面——窗体图标设置、拆分窗格
- maven用途、核心概念、用法、常用参数和命令、扩展
- centos yum 安装wine