dapper+linq+json+ztree构建树

dapper获取集合实体

/// <summary>
        /// 获取表tb_sys_zhuowei全部数据
        /// </summary>
        public IEnumerable<Model_tb_sys_zhuowei> SelectAll_tb_sys_zhuowei()
        {
            using (IDbConnection conn = OpenConnection())
            {
                const string query = @"select * from tb_sys_zhuowei order by addtime desc";
                return conn.Query<Model_tb_sys_zhuowei>(query, null);
            }
        }

linq处理集合,并通过Newtonsoft处理成json

protected string GetTree()
    {
        MyProject.DataOrm dao = new MyProject.DataOrm();
        IEnumerable<MyProject.Model_tb_sys_zhuowei> list = dao.SelectAll_tb_sys_zhuowei();
        var q = from x in list
                orderby x.louceng
                group x by x.louceng into g //按楼层分组
                select new
                {
                    name = g.Key.ToString() + "楼",
                    open = true,
                    children = from x2 in g
                               orderby x2.quyu
                               //where x2.louceng == g.Key
                               group x2 by x2.quyu into k //按区域分组
                               select new
                               {
                                   name = k.Key.Length == 2 ? "包间" : k.Key + "区",
                                   click = "loadzw('" + g.Key.ToString() + "-" + k.Key + "')"
                               }
                    //select new
                    //{
                    //    name = x2.quyu.Length == 2 ? "包间" : x2.quyu + "区",
                    //    click = "loadzw('" + g.Key.ToString() + "-" + x2.quyu + "-" + x2.number.ToString() + "')"
                    //}
                };

        var templist = q.ToList();
        return Newtonsoft.Json.JsonConvert.SerializeObject(templist, Newtonsoft.Json.Formatting.Indented);
    }
[{
    "name": "1楼",
    "open": true,
    "children": [{
        "name": "A区",
        "click": "loadzw('1-A')"
    },
    {
        "name": "B区",
        "click": "loadzw('1-B')"
    },
    {
        "name": "包间",
        "click": "loadzw('1-BJ')"
    }]
},
{
    "name": "2楼",
    "open": true,
    "children": [{
        "name": "A区",
        "click": "loadzw('2-A')"
    }]
}]

前端ztree构建树

<script src="../../js/jquery-1.6.min.js" type="text/javascript"></script>
    <script src="../../js/jquery.ztree.core-3.5.min.js" type="text/javascript"></script>
    <script type="text/javascript">
		<!--
        var setting = {};
//        var zNodes = [
//			{ name: "1楼", open: true,
//			    children: [
//					{ name: "A区", click: "loadzw('1-A')" },
//					{ name: "B区", click: "loadzw('1-B')" },
//					{ name: "C区", click: "loadzw('1-C')" }
//				]
//			},
//            { name: "2楼", open: true,
//                children: [
//					{ name: "A区", click: "loadzw('2-A')" },
//					{ name: "B区", click: "loadzw('2-B')" },
//					{ name: "C区", click: "loadzw('2-C')" }
//				]
//            },
//            { name: "3楼", open: true,
//                children: [
//					{ name: "A区", click: "loadzw('3-A')" },
//					{ name: "B区", click: "loadzw('3-B')" },
//					{ name: "C区", click: "loadzw('3-C')" }
//				]
//            }
//		];
        var zNodes = <%=GetTree() %>

        $(document).ready(function () {
            $.fn.zTree.init($("#treeDemo"), setting, zNodes);
        });
		//-->

        function loadzw(kk) {
            alert(kk);
        }
	</script>

效果

dapper+linq+json+ztree构建树,布布扣,bubuko.com

时间: 2024-12-04 18:18:32

dapper+linq+json+ztree构建树的相关文章

jstree插件的使用(进阶)——动态json数据创建树

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Document</title> <!-- jstree css样式 --> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/lib

给出树的前序遍历和后序遍历,构建树

必须知道一点: 前序遍历是:根.左.右 中序遍历是:左.根.右 后序遍历是:左.右.根 递归构建即可. /** * Definition for binary tree * struct TreeNode { * int val; * TreeNode *left; * TreeNode *right; * TreeNode(int x) : val(x), left(NULL), right(NULL) {} * }; */ class Solution { public: struct Tr

JSON相关代码

string json1 = @"{ ""publicaccount"": { ""id"": ""1"", ""name"": ""abc"" }, ""root"": { ""messages"": [ { &quo

zTree异步生成数据时无法获取到子节点的选中状态

最近在项目中遇到一个问题,需求如下: 根据选中不同的人员(ID)向后台发送ajax请求,通过返回的数据来生成该人员的权限访问树,该树目录最少为3级目录,在生成的时候会自动勾选上次保存过的选中状态,点击保存后会将选中状态发送给后端用于保存.(zTree的api参考网站http://www.ztree.me/v3/api.php) 遇到的bug: 用户必须再次点击已选中的根目录,并重新选中一次才能在保存的时候将其根目录及所有选中的子节点ID号提供给后端,如果用户不做任何操作直接点击保存,则只能获取到

EasyUI加zTree使用解析

EasyUI和zTree使用方法和功能加到注解中了,方便查阅和复制 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>BOS管理系统 首页</title> <link href="favicon.ico" rel="icon" type="image/x-icon" /> &

JQuery Ztree 树插件配置与应用小结

JQuery Ztree 树插件配置与应用小结 by:授客 QQ:1033553122 测试环境 Win7 jquery-3.2.1.min.js 下载地址: https://gitee.com/ishouke/front_end_plugin/blob/master/jquery-3.2.1.min.js zTree_v3-master.zip 下载地址: https://github.com/zTree/zTree_v3 插件配置与应用 应用效果展示 HTML代码片段 <!DOCTYPE h

dTree无限级文件夹树和JQuery同步Ajax请求

曾经都是用JQuery对树的支持来实现文件夹树的,近来闲来无事就弄了下dTree,感觉其无限级文件夹还是挺好的,并且它的使用也比較方便,基本上就是先把要用的js文件即dtree.js和css文件dtree.css引入,另外就是它默认的图片.当然这些图片都是能够自己指定的,它的css样式也能够自己改变的. 关于dTree就先谈谈它的node,dTree的node的构造方法能够指定下列參数, Js代码 id //唯一标识.数字型 pid//父节点的id,假设是根结点那就仅仅能是-1,一般来讲仅仅有一

jackson快速入门

1. 背景 目前维护的产品使用jackson处理json,现整理一下jackson相关资料,希望对初次接触jackson的新手有所帮助.     jackson主页: http://jackson.codehaus.org/     jackson document: http://wiki.fasterxml.com/JacksonJavaDocs     JacksonInFiveMinutes: http://wiki.fasterxml.com/JacksonInFiveMinutes 

C#学习(6):DataSet构建EasyUI树结构

1.DataSet或DataTable建EasyUI树Json结构 其实网上已经有很健全的资料了,不过大多都是限制输出某字段的,所有我参考博客园某些博友代码,稍加修改一下: 1 /// <summary> 2 /// 根据DataSet构建树Json结构 3 /// </summary> 4 /// <param name="dataSet">数据集</param> 5 /// <param name="treeResul