zoukankan      html  css  js  c++  java
  • c# 菜单无限极分类-利用递归

    表结构:

    前台代码:

    复制代码
    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="WebForm1.aspx.cs" Inherits="RightDGExercise.WebForm1" %>
    
    <!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">
            </asp:TreeView>
        
        </div>
        </form>
    </body>
    </html>
    复制代码

    后台代码:

    复制代码
     public partial class WebForm1 : System.Web.UI.Page
        {
            protected void Page_Load(object sender, EventArgs e)
            {
                if (!IsPostBack)
                {
                    string sql = "SELECT * FROM Menus ORDER BY Sort";
                    DataSet ds = MySqlHelper.ExecuteDataset(MySqlHelper.ConnectionString, System.Data.CommandType.Text, sql);
                    if (ds.Tables != null && ds.Tables.Count > 0)
                    {
                        TreeNode nodeOne = new TreeNode("","");
                        TreeView1.Nodes.Add(nodeOne);
                        FillTree(nodeOne,"0", ds.Tables[0]);
                    }
                    
                }
            }
    
            // 递归算法
            private void FillTree(TreeNode treeNode,string ParentId,DataTable dt)
            {
                DataRow[] drs = dt.Select(" ParentID='"+ParentId+"'");
                if (drs == null || drs.Length < 0)
                {
                    return;
                }
                else
                {
                    for (int i = 0; i < drs.Length; i++)
                    {
                        DataRow dr = drs[i];
                        TreeNode nodeName = new TreeNode(dr["Name"].ToString(), dr["ID"].ToString());
                        treeNode.ChildNodes.Add(nodeName);
                        FillTree(nodeName, dr["ID"].ToString(), dt);
                    }
                }
            }
        }
  • 相关阅读:
    poj 3253超时
    poj 3617输出格式问题
    dfs的返回条件
    hdu1010感想
    2018.7.19训练赛总结
    2018.7.12训练赛 -G
    汇编实验16 编写包含多个功能子程序的中断例程——浅谈直接地址表
    新的一年来了,先看一看自己的编程能力吧!
    汇编实验15:安装新的int 9中断例程
    汇编实验14:访问CMOS RAM
  • 原文地址:https://www.cnblogs.com/honghong75042/p/5773937.html
Copyright © 2011-2022 走看看