zoukankan      html  css  js  c++  java
  • for循环递归树

    protected string _menu = string.Empty;
    public void FirstAnsyData()
    {
    try
    {
    // List<object> lsNode = new List<object>();
    string strsql = "select * from S_module";
    DataSet dt = DbHelperSQL.Query(strsql);

    // lsNode = getList(tab);
    //// HttpContext.Current.Response.Write(ConvertJson.ListToJson(lsNode2));
    // HttpContext.Current.Response.Write(JsonConvert.SerializeObject(lsNode));
    //// Response.Write();//用到了Newtonsoft.dll 转化成Json格式
    StringBuilder sb = new StringBuilder();

    DataRow[] rows = dt.Tables[0].Select("PARENTID='1'");
    foreach (DataRow dr in rows)
    {
    string id = dr["MODULEID"].ToString();
    string name = dr["MODULENAME"].ToString();
    sb.AppendFormat("<li MODULEID="{2}"><a href="javascript:;" onclick="gotoURL('{0}');">{1}</a> ", dr["LINK"].ToString(), name, id);//href可以写需要的链接地址
    sb.Append(GetSubMenu(id, dt.Tables[0]));
    sb.Append("</li> ");
    }
    _menu = sb.ToString();

    }
    catch (Exception)
    {

    throw;
    }

    }

    /// <summary>
    /// 递归调用生成无限级别
    /// </summary>
    /// <param name="pid"></param>
    /// <param name="dt"></param>
    /// <returns></returns>
    private string GetSubMenu(string pid, DataTable dt)
    {
    StringBuilder sb = new StringBuilder();
    DataRow[] rows = dt.Select("PARENTID='" + pid + "'");
    sb.Append("<ul> ");
    foreach (DataRow dr in rows)
    {
    string id = dr["MODULEID"].ToString();
    string name = dr["MODULENAME"].ToString();
    sb.AppendFormat("<li MODULEID="{2}"><a href="javascript:;" onclick="gotoURL('{0}');">{1}</a> ", dr["LINK"].ToString(), name, id);//href可以写需要的链接地址
    sb.Append(GetSubMenu(id, dt)); //递归
    sb.Append("</li> ");
    }
    sb.Append("</ul> ");
    return sb.ToString();
    }

  • 相关阅读:
    Shell脚本中循环语句for,while,until用法
    国内yum源的安装(163,阿里云,epel)
    express高效入门教程(4)
    express高效入门教程(3)
    express高效入门教程(2)
    express高效入门教程(1)
    dart快速入门教程 (8)
    dart快速入门教程 (7.4)
    dart快速入门教程 (7.3)
    dart快速入门教程 (7.2)
  • 原文地址:https://www.cnblogs.com/yangpeng-jingjing/p/6032913.html
Copyright © 2011-2022 走看看