zoukankan      html  css  js  c++  java
  • 生成三级树形菜单

    private void getTree()
        {
            DataTable dt1 = new DataTable();
            DataTable dt2 = new DataTable();
            DataTable dt3 = new DataTable();
            if (strbbsType == "1")
            {
                dt1 = SqlHelper.ExecuteDataset(SqlHelper.Conn, CommandType.Text, "select id,MenuName,url from M_MenuHead ").Tables[0];
                dt2 = SqlHelper.ExecuteDataset(SqlHelper.Conn, CommandType.Text, "select id,pid,MenuName from M_MenuChildren ").Tables[0];
                dt3 = SqlHelper.ExecuteDataset(SqlHelper.Conn, CommandType.Text, "select id,pid,ppid,MenuName from M_MenuChildren2").Tables[0];
            }
            else
            {
                dt1 = SqlHelper.ExecuteDataset(SqlHelper.Conn, CommandType.Text, "select id,panelName as MenuName,url from bbs_panel1 ").Tables[0];
                dt2 = SqlHelper.ExecuteDataset(SqlHelper.Conn, CommandType.Text, "select id,pid,panelName as MenuName from bbs_panel2 ").Tables[0];
                dt3 = SqlHelper.ExecuteDataset(SqlHelper.Conn, CommandType.Text, "select id,pid,panelName as MenuName from bbs_panel3").Tables[0];
            }
            int count1 = dt1.Rows.Count;
            int count2 = dt2.Rows.Count;
            int count3 = dt3.Rows.Count;
            string count = "";
            int i=0;
            int j=0;
            int k=0;
            string pid2 = "";
            string id2 = "";
            string pid3 = "";
            string id3 = "";
            StringBuilder sb1 = new StringBuilder("<ul id='tree' class='treeview'>");
            for (i = 0; i < count1;i++ )
            {
               
                sb1.Append("<li class='expandable'><div class='hitarea expandable-hitarea '></div><a href='Title.aspx?mode=1&id=" + id2 + "' target='main'><strong>" + dt1.Rows[i]["MenuName"].ToString() + "</strong></a> ");
                sb1.Append("<ul style='display: none; '>");
                for (j = 0; j < count2; j++)
                {   pid2=dt2.Rows[j]["pid"].ToString();
                   id2 = dt1.Rows[i]["id"].ToString();
                    if ( pid2== id2)
                    {
                        count = SqlHelper.ExecuteScalar(SqlHelper.Conn, CommandType.Text, "select count(id) from M_MenuChildren2 where pid="+id2+"").ToString();
                        if (count == "0")
                        {
                            sb1.Append("<li > <a href='Title.aspx?mode=2&id=" + pid2 + "&pid=" + id3 + "' target='main'>" + dt2.Rows[j]["MenuName"].ToString() + "</a>");
                          
                        }
                        else
                        {
                            sb1.Append("<li class='expandable'> <a href='Title.aspx?mode=2&id=" + pid2 + "&pid=" + id3 + "' target='main'>" + dt2.Rows[j]["MenuName"].ToString() + "</a>");
                            sb1.Append("<ul style='display: none;'>");
                        }
                        for (k = 0; k < count3; k++)
                        {
                            pid3 = dt3.Rows[k]["pid"].ToString();
                            id3 = dt2.Rows[j]["id"].ToString();
                            if (pid3 == id3)
                            {
                                sb1.Append("<li ><a href='Title.aspx?mode=3&id=" + dt3.Rows[k]["ppid"].ToString() + "&pid=" + dt3.Rows[k]["pid"].ToString() + "&ppid=" + dt3.Rows[k]["id"].ToString() + "' target='main'>" + dt3.Rows[k]["MenuName"].ToString() + "</a> </li>");
                            }
                        }
                        if (count == "0")
                        {
                            sb1.Append("</li>");
                        }
                        else
                        {
                            sb1.Append("</ul>");
                            sb1.Append("</li>");
                        }
                    }
                }
                sb1.Append("</ul>");
                sb1.Append("</li>");
            }
            sb1.Append("</ul>");

            sidetreecontrol.InnerHtml = sb1.ToString();
        }

        private void getTree2()
        {
            DataTable dt1 = new DataTable();
            DataTable dt2 = new DataTable();
            DataTable dt3 = new DataTable();
            dt1 = SqlHelper.ExecuteDataset(SqlHelper.Conn, CommandType.Text, "select id,MenuName,url from M_MenuHead ").Tables[0];

            int count1 = dt1.Rows.Count;
            int count2 = 0;
            int count3 = 0;
            string count = "";
            int i = 0;
            int j = 0;
            int k = 0;
            string pid2 = "";
            string id2 = "";
            string pid3 = "";
            string id3 = "";

            StringBuilder sb1 = new StringBuilder("<ul id='tree' class='treeview'>");
            for (i = 0; i < count1; i++)
            {
                id2 = dt1.Rows[i]["id"].ToString();
                sb1.Append("<li class='expandable'><div class='hitarea expandable-hitarea '></div><a href='Title.aspx?mode=1&id=" + id2 + "' target='main'><strong>" + dt1.Rows[i]["MenuName"].ToString() + "</strong></a> ");
                sb1.Append("<ul style='display: none; '>");
                dt2 = SqlHelper.ExecuteDataset(SqlHelper.Conn, CommandType.Text, "select id,pid,MenuName from M_MenuChildren where pid=" + id2 + "").Tables[0];
                count2 = dt2.Rows.Count;
                for (j = 0; j < count2; j++)
                {
                    dt3 = SqlHelper.ExecuteDataset(SqlHelper.Conn, CommandType.Text, "select id,pid,ppid,MenuName from M_MenuChildren2 where pid=" + dt2.Rows[j]["id"].ToString() + "").Tables[0];
                    count3 = dt3.Rows.Count;

                    sb1.Append("<li class='expandable'> <a href='Title.aspx?mode=2&id=" + pid2 + "&pid=" + id3 + "' target='main'>" + dt2.Rows[j]["MenuName"].ToString() + "</a>");
                    sb1.Append("<ul style='display: none;'>");
                  
                    for (k = 0; k < count3; k++)
                    {
                            sb1.Append("<li ><a href='Title.aspx?mode=3&id=" + dt3.Rows[k]["ppid"].ToString() + "&pid=" + dt3.Rows[k]["pid"].ToString() + "&ppid=" + dt3.Rows[k]["id"].ToString() + "' target='main'>" + dt3.Rows[k]["MenuName"].ToString() + "</a> </li>");
                    }
                    sb1.Append("</ul>");
                    sb1.Append("</li>");
                }
                sb1.Append("</ul>");
                sb1.Append("</li>");
            }
            sb1.Append("</ul>");

            sidetreecontrol.InnerHtml = sb1.ToString();
        }

  • 相关阅读:
    软件工程讲义 3 两人合作(2) 要会做汉堡包
    创新 王屋村的魔方们
    IT 行业的创新 创新的迷思 (56)
    现代软件工程讲义 12 绩效管理
    校园招聘 比较容易的面试题
    技能的反面 魔方和模仿
    现代软件工程讲义 2 工程师的能力评估和发展
    计算机知识体系的三个部分
    不鸣则已 一鸣惊人
    京城名流的聚会
  • 原文地址:https://www.cnblogs.com/zzxap/p/2175766.html
Copyright © 2011-2022 走看看