easyui-tree基础必须知道这个如下:

树控件使用<ul>元素定义。标签能够定义分支和子节点。节点都定义在<ul>列表内的<li>元素中。以下显示的元素将被用作树节点嵌套在<ul>元素中。

上面的代码将产生这样的一棵树

前台代码如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="treeMenu.aspx.cs" Inherits="WebApplication5.treeMenu" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
      <link href="../themes/icon.css" rel="stylesheet" />
    <link href="../themes/default/easyui.css" rel="stylesheet" />
    <link href="../src/demo.css" rel="stylesheet" />
    <script src="../comjs/jquery-1.8.0.min.js" type="text/javascript"></script>
    <script src="comjs/msgBox.js"></script>
    <script src="../comjs/jquery.easyui.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(function() {
           // new MsgBox().showMsgWait("稍等......");

});
    </script>
</head>
<body>
    <form id="form1" runat="server">
    <div>

<ul id="tt" class="easyui-tree">   
    <li>   
        <span>Folder</span>   
        <ul>   
            <li>   
                <span>Sub Folder 1</span>   
                <ul>   
                    <li>   
                        <span><a href="#">File 11</a></span>   
                    </li>   
                    <li>   
                        <span>File 12</span>   
                    </li>   
                    <li>   
                        <span>File 13</span>   
                    </li>   
                </ul>   
            </li>   
            <li>   
                <span>File 2</span>   
            </li>   
            <li>   
                <span>File 3</span>   
            </li>   
        </ul>   
    </li>   
    <li>   
        <span>File21</span>   
    </li>   
</ul>

<%=sbs.ToString() %>

</div>
 
    </form>
</body>
</html>
后台代码如下:

using System;
using System.Collections.Generic;
using System.Data.SqlClient;
using System.IO;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

namespace WebApplication5
{
    public partial class treeMenu : System.Web.UI.Page
    {
        public static List<treeMenus> treeMenuses = null;
        public static StringBuilder sbs = new StringBuilder();

protected void Page_Load(object sender, EventArgs e)
        {
            treeMenuses = LoadMenu();
            string zhongjie = string.Empty;
            StringBuilder sb = new StringBuilder();
            bool pfirst = true;
            foreach (treeMenus treeNode in treeMenuses)
            {
                if (treeNode.Pid == 0)
                {
                   
                    
                        sb.Append("<li>" + "<span>" + treeNode.Mid + "</span>" + subChild(treeNode.Mid) + "</li>");
                        sbs.Append(sb.ToString());
                        sb.Clear();
                }
                
 
            }
            zhongjie = "<ul id='tt' class='easyui-tree'>" + sbs.ToString() + "</ul>";

sbs.Clear();
            sbs.Append(zhongjie);

}

public string subChild(int mid)
        {
            int tag = 0;
            bool first = true;
            string chaojizhongjiezhe = string.Empty;
            StringBuilder sbc=new StringBuilder();
            foreach (treeMenus treeNode in treeMenuses)
            {
               
                if (treeNode.Pid == mid)
                {
                    
                 
                    
                   sbc.Append("<li>" +"<span>"+ treeNode.Mid +"</span>"  + subChild(treeNode.Mid)+"</li>");
                   
                }

}
            chaojizhongjiezhe = "<ul id='tt' class='easyui-tree'>" + sbc.ToString() + "</ul>";
            sbc.Clear();
            sbc.Append(chaojizhongjiezhe);
            //sbc.Append("<ul id='tt' class='easyui-tree'>" + sbc.ToString() + "</ul>");
            return sbc.ToString();
        }

public List<treeMenus> LoadMenu()
        {
            List<treeMenus> list = new List<treeMenus>();
            using (SqlConnection conn = new SqlConnection())
            {
                conn.ConnectionString = "Data Source=.;Initial Catalog=CompanyGZ;Integrated Security=True";

using (SqlCommand cmd = new SqlCommand())
                {
                    string sql = "SELECT * FROM treeMenu;";
                    cmd.Connection = conn;
                    cmd.CommandText = sql;

conn.Open();

using (SqlDataReader reader = cmd.ExecuteReader())
                    {
                        string rsRows = "";
                        while (reader.Read())
                        {
                            treeMenus treeMenu = new treeMenus();
                            treeMenu.Pid = Convert.ToInt16(reader["pid"]);
                            //treeMenu.Cid = Convert.ToInt16(reader["cid"]);
                            treeMenu.Mid = Convert.ToInt16(reader["mid"]);
                            treeMenu.Id = Convert.ToInt16(reader["id"]);
                            //treeMenu.MName = Convert.ToString(reader["mName"]);
                            list.Add(treeMenu);

}

}
                }
            }

return list;
        }
    }

public class treeMenus
    {
        private int mid;
        private int cid;
        private int pid;
        private int id;
        private string mName;

public int Mid
        {
            get { return mid; }
            set { mid = value; }
        }

public int Cid
        {
            get { return cid; }
            set { cid = value; }
        }

public int Pid
        {
            get { return pid; }
            set { pid = value; }
        }

public int Id
        {
            get { return id; }
            set { id = value; }
        }

public string MName
        {
            get { return mName; }
            set { mName = value; }
        }
    }
}

easyui-从数据库读取创建无极菜单的更多相关文章

  1. tp根据数据库动态创建微信菜单

    喻可伟的博客   tp根据数据库动态创建微信菜单 $button = array();$class = M('ucenter_menu')->limit(3)->select();//取出 ...

  2. Java从数据库读取页面树形菜单

    从数据库加载菜单及子菜单主要使用递归的方法,具体实现可看代码 首先封装一个菜单pojo public class Menu { // 菜单id private String id; // 菜单名称 p ...

  3. 《Entity Framework 6 Recipes》中文翻译系列 (38) ------ 第七章 使用对象服务之动态创建连接字符串和从数据库读取模型

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第七章 使用对象服务 本章篇幅适中,对真实应用中的常见问题提供了切实可行的解决方案. ...

  4. 雷林鹏分享:jQuery EasyUI 树形菜单 - 使用标记创建树形菜单

    jQuery EasyUI 树形菜单 - 使用标记创建树形菜单 一个树形菜单(Tree)可以从标记创建.easyui 树形菜单(Tree)也可以定义在 元素中.无序列表的 元素提供一个基础的树(Tre ...

  5. 直接用bcdedit创建bootmgr数据库和修复启动菜单

    直接用bcdedit创建bootmgr数据库和修复启动菜单 使用下面方法之前需要bcdedit和bootsect两条命令,这两条命令可以到vista或者windows 7安装光盘上获得.bootsec ...

  6. java从数据库读取菜单,递归生成菜单树

    首先看一下菜单的样子 根据这个样子我们定义菜单类 public class Menu { // 菜单id private String id; // 菜单名称 private String name; ...

  7. Java 数据库树形查询生成菜单结构

    Java 数据库树形查询 JAVA从数据库读取菜单,递归生成菜单树. 定义菜单类 public class Menu { // 菜单id private String id; // 菜单名称 priv ...

  8. EasyUI 的Tab 标签添加右键菜单

    样式: 主要提供右键功能代码. (只需要提供你需要的js和css就行了) <!doctype html> <html> <head> <base href=& ...

  9. Oracle数据库如何创建DATABASE LINK?

    Oracle数据库如何创建DATABASE LINK? 2011-08-09 14:54 taowei20061122 CSDN博客  http://blog.csdn.net/taowei20061 ...

随机推荐

  1. django-auth组件的注册,登录,登出,及验证是否已经登入。使用login的属性

    1.注册: 1.创建User(django自带的用户model)的form对象 定义form验证返回的错误提示信息 error_msg = { 'username': {'required': '用户 ...

  2. uva-10305-水题-拓扑排序

    输入n,m,n代表点数,m代表边数(i,j),排序时i在j前面,没出现的点随意排 #include <iostream> #include<stdio.h> #include& ...

  3. (11/24) css进阶:Less文件的打包和分离

    写在前面:在前面我们对css打包和分离进行了描述.此节我们开始学习如何对less文件进行打包和分离. Less 是一门 CSS 预处理语言,它扩展了 CSS 语言,增加了变量.Mixin.函数等特性, ...

  4. OpenACC 计算规约时发现的小坑

    ▶ 使用 OpenACC 的 parallel 构件来计算规约,主要想说的是 win10 pgi 和 win10 WSL pgi 结果的不同和关于 for 循环的一个小坑 ● 正常的代码 #inclu ...

  5. php中点击链接直接下载图片

    最近需要一个功能,是点击链接,直接把图片下载下来,一般情况下,图片是在新页直接打开的,不会自动提示下载,在网上找来找,用这个挺好使,代码如下: $filename = basename($downfi ...

  6. 4. java乱码处理

    //返回到jsp页面 //request.setCharacterEncoding("utf-8"); //response.setContentType("text/h ...

  7. JAVA Spring JdbcTemplate ( 以 SQLSERVER 为例 ) 的简单使用

    < 1 > 配置文件 <?xml version="1.0" encoding="UTF-8"?> <beans xmlns=&q ...

  8. eclipse override报错

    转自:https://www.cnblogs.com/libra0920/p/6408891.html 错误: 在 eclipse 的新工作空间开发项目时,出现大面积方法编译错误.鼠标放在方法名上后显 ...

  9. Eclipse launch configuration----Eclipse运行外部工具

    虽然我们已经有了像 Eclipse 这样高级的 IDE,但是我们有时候也是需要在开发的时候使用 Windows 的命令行,来运行一些独立的程序.在两个程序中切换来切换去是很麻烦的.所以 Eclipse ...

  10. LitJson JavaScriptSerializer

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...