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>

效果

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSm95aGVu/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">

版权声明:本文博客原创文章,博客,未经同意,不得转载。

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

  1. 一个JSON解构赋值给另一个字段不同的JSON

    往数据里添加JSON字符串 // 往数据里添加JSON字符串 var arr = []; var json ={"name":"liruilong"," ...

  2. 设计与实现简单而经常使用的权限系统(四):无需维护level,递归构建树

    第三篇中.我们通过维护节点的深度level,通过迭代全部的节点,仅仅须要一次,就构造了树.  本篇.换一种方式. 优点是:不维护节点的深度level,添加和改动节点时,也不用维护.递归实现,代码比較清 ...

  3. PAT-1147(Heaps)最大堆和最小堆的判断+构建树

    Heaps PAT-1147 #include<iostream> #include<cstring> #include<string> #include<a ...

  4. Dapper操作MySQL数据库获取JSON数据中文乱码

    前言 在项目中利用Dapper将JSON数据存储到MySQL数据库,结果发现JSON数据中的中文乱码,特此记录,希望对存储JSON的童鞋能有所帮助,文中若有错误之处,还望批评指正. Dapper获取J ...

  5. WPF:使用Json.NET在TreeView中树形显示JSON数据

    原文 WPF:使用Json.NET在TreeView中树形显示JSON数据 据 读者可以参考这个开源的可以树形显示XML和JSON的工具: Mgen Object 603:XML/JSON树形显示小工 ...

  6. Python 解析构建数据大杂烩 -- csv、xml、json、excel

    Python 可以通过各种库去解析我们常见的数据.其中 csv 文件以纯文本形式存储表格数据,以某字符作为分隔值,通常为逗号:xml 可拓展标记语言,很像超文本标记语言 Html ,但主要对文档和数据 ...

  7. zTree实现权限列表简单实例

    zTree的简单实例 zTree 是一个依靠jQuery 实现的多功能 "树插件".优异的性能.灵活的配置.多种功能的组合是 zTree 最大优点. zTree官网 zTreeAP ...

  8. (1-1)入门—最简单的树(使用json数据)

    1.<!DOCTYPE html>是必须的. 2.zTree 的容器 className 别忘了设置为 "ztree". 使用ztree创建树,首先要引用ztree相关 ...

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

    最近在项目中遇到一个问题,需求如下: 根据选中不同的人员(ID)向后台发送ajax请求,通过返回的数据来生成该人员的权限访问树,该树目录最少为3级目录,在生成的时候会自动勾选上次保存过的选中状态,点击 ...

随机推荐

  1. Kruskal(克鲁斯卡尔)

    设有一个有n个顶点的连通网N={V,E},最初先构造一个只有n个顶点, 没有边的非 连通图 T={V, E}, 图中每个顶点自成一个连通分量. 当在E中选到一条具有最小权值的边时,若该边的两个顶点落在 ...

  2. Xamarin:制作并发布apk

    原文:Xamarin:制作并发布apk 终于到了激动人心的时刻:要向真机发布apk了.流程如下: 1 制作release版的android应用安装包apk文件: 1.1 用VS2012中文版制作:记得 ...

  3. 黄聪:Microsoft Enterprise Library 5.0 系列教程(三) Validation Application Block (初级)

    原文:黄聪:Microsoft Enterprise Library 5.0 系列教程(三) Validation Application Block (初级) 企业库提供了一个很强大的验证应用程序模 ...

  4. windows phone 墓碑化(9)

    原文:windows phone 墓碑化(9) 几个术语的理解: 名称 说明 ;        App ap = (App)Application.Current;        // 构造函数    ...

  5. Oracle数据库的锁类型

    Oracle数据库的锁类型 博客分类: oracle   Oracle数据库的锁类型 根据保护的对象不同,Oracle数据库锁可以分为以下几大类:DML锁(data   locks,数据锁),用于保护 ...

  6. Spring之AOP术语

    AOP是Aspect Oriented Programing的简称.被译为"面向切面编程". AOP独辟蹊径通过横向抽取机制为这类无法通过纵向继承体系进行抽象的反复性代码提供了解决 ...

  7. DOMContentLoaded和window.onload

    相信写js的.都知道window.onload吧,可是并非每一个人都知道DOMContentLoaded,事实上即使你不知道.非常有可能你也常常使用了这个东西. 普通情况下,DOMContentLoa ...

  8. APK ubuntu下 数字签名

    Android系统要求每个Android应用程序必需要经过数字签名才可以安装到系统中,也就是说假设一个Android应用程序没有经过数字签名,是没有办法安装到系统中的! Android通过数字签名来标 ...

  9. cocos2d-x适配多分辨率

    现在用的2d-x版本是2.1.1.现在的项目要求是iphone ,iphone Retina,ipad和ipad Retina都有各自的路径来存放各自需要的资源.在AppDelegate的 appli ...

  10. 重新想象 Windows 8 Store Apps (24) - 文件系统: Application Data 中的文件操作, Package 中的文件操作, 可移动存储中的文件操作

    原文:重新想象 Windows 8 Store Apps (24) - 文件系统: Application Data 中的文件操作, Package 中的文件操作, 可移动存储中的文件操作 [源码下载 ...