zoukankan      html  css  js  c++  java
  • ASP.NET 递归将分类绑定到 TreeView

    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','','','','')

    <%@ 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.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;
    }
    }

  • 相关阅读:
    为啥我百度定位wifi可以定位准确,但用数据流量就给我定位到非洲西海岸
    利用BottomNavigationBar实现不同的fragment之间的转换
    VS2010中连接sql 2005连接问题microsoft.sqlserver.management.sdk.sfc
    zuul路由网关介绍及使用
    Hystrix断路器概述及使用
    Ribbon负载均衡概述及使用
    Eureka服务注册与发现 介绍及使用
    微服务介绍及springcloud入门概述
    springboot整合springdatajpa步骤及使用
    springboot整合shiro步骤
  • 原文地址:https://www.cnblogs.com/yangpeng-jingjing/p/5825172.html
Copyright © 2011-2022 走看看