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

  • 相关阅读:
    MIne FirstBlog
    P6563 [SBCOI2020]一直在你身旁
    P6563 [SBCOI2020]一直在你身旁
    T122085 [SBCOI2020]时光的流逝
    LC 918. Maximum Sum Circular Subarray
    1026 Table Tennis
    LC 1442. Count Triplets That Can Form Two Arrays of Equal XOR
    LC 1316. Distinct Echo Substrings
    LC 493. Reverse Pairs
    1029 Median (二分)
  • 原文地址:https://www.cnblogs.com/yangpeng-jingjing/p/5825172.html
Copyright © 2011-2022 走看看