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;
    }
    }

  • 相关阅读:
    Memcached基本架构和思想
    varnish和squid的对比
    常用排序讲解
    数据结构堆的一种比较明白的讲解
    磁盘挂载MOUNT 445问题集
    mysql 如何提高批量导入的速度
    云平台涅槃重生计划
    NumPy、SciPy 等Python包在Windows下的whl安装包下载
    表迁移工具的选型-复制ibd的方法
    下一步的技术研究方向
  • 原文地址:https://www.cnblogs.com/yangpeng-jingjing/p/5825172.html
Copyright © 2011-2022 走看看