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>
效果
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvSm95aGVu/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="">
版权声明:本文博客原创文章,博客,未经同意,不得转载。
dapper+linq+json+ztree构建树的更多相关文章
- 一个JSON解构赋值给另一个字段不同的JSON
往数据里添加JSON字符串 // 往数据里添加JSON字符串 var arr = []; var json ={"name":"liruilong"," ...
- 设计与实现简单而经常使用的权限系统(四):无需维护level,递归构建树
第三篇中.我们通过维护节点的深度level,通过迭代全部的节点,仅仅须要一次,就构造了树. 本篇.换一种方式. 优点是:不维护节点的深度level,添加和改动节点时,也不用维护.递归实现,代码比較清 ...
- PAT-1147(Heaps)最大堆和最小堆的判断+构建树
Heaps PAT-1147 #include<iostream> #include<cstring> #include<string> #include<a ...
- Dapper操作MySQL数据库获取JSON数据中文乱码
前言 在项目中利用Dapper将JSON数据存储到MySQL数据库,结果发现JSON数据中的中文乱码,特此记录,希望对存储JSON的童鞋能有所帮助,文中若有错误之处,还望批评指正. Dapper获取J ...
- WPF:使用Json.NET在TreeView中树形显示JSON数据
原文 WPF:使用Json.NET在TreeView中树形显示JSON数据 据 读者可以参考这个开源的可以树形显示XML和JSON的工具: Mgen Object 603:XML/JSON树形显示小工 ...
- Python 解析构建数据大杂烩 -- csv、xml、json、excel
Python 可以通过各种库去解析我们常见的数据.其中 csv 文件以纯文本形式存储表格数据,以某字符作为分隔值,通常为逗号:xml 可拓展标记语言,很像超文本标记语言 Html ,但主要对文档和数据 ...
- zTree实现权限列表简单实例
zTree的简单实例 zTree 是一个依靠jQuery 实现的多功能 "树插件".优异的性能.灵活的配置.多种功能的组合是 zTree 最大优点. zTree官网 zTreeAP ...
- (1-1)入门—最简单的树(使用json数据)
1.<!DOCTYPE html>是必须的. 2.zTree 的容器 className 别忘了设置为 "ztree". 使用ztree创建树,首先要引用ztree相关 ...
- zTree异步生成数据时无法获取到子节点的选中状态
最近在项目中遇到一个问题,需求如下: 根据选中不同的人员(ID)向后台发送ajax请求,通过返回的数据来生成该人员的权限访问树,该树目录最少为3级目录,在生成的时候会自动勾选上次保存过的选中状态,点击 ...
随机推荐
- poj Budget
Budget 建图好题.不知道为什么提交一直TLE. 然后.该了几次,看了别人的普通网络流都过了. 我觉得可能是卡DINIC的某些部分吧.这题就是一道普通的上下界最小流. 建图麻烦,所以说一下建图吧. ...
- AS3.0下去除flash右键菜单
这两天工作中遇到一个问题,就是网页中内嵌的flash小游戏的用户体验,当鼠标在flash上点击右键时,出现的右键菜单中会有播放,停止等选项,虽然不会造成什么漏洞,但是体验非常差.在寻找解决方案的时候, ...
- selenium 远程调用浏览器
共分三步: 1.selenium官网下载selenium-server-standalone.jar的最新版本号 2.启动selenium-server::::: java -jar "se ...
- Web测试基于实际测试的功能测试点总结--转载
文章来源:http://www.51testing.com/html/99/n-854599.html 好文章就该记录一下\(^o^)/~ 一.页面链接检查:测试每一个链接是否都有对应的页面,并且页面 ...
- 设备Oracle当误差:环境不符合要求》》解决方法
一旦安装Oracle当我常常会遇到这样的问题.也没太在意,改了一下client\stage\cvu文件夹cvu_prereq.xml档(添加支持目前的操作系统信息)为了克服,我没有做笔记,但后来有同学 ...
- 染色法判断是否是二分图 hdu2444
用染色法判断二分图是这样进行的,随便选择一个点, 1.把它染成黑色,然后将它相邻的点染成白色,然后入队列 2.出队列,与这个点相邻的点染成相反的颜色 根据二分图的特性,相同集合内的点颜色是相同的,即 ...
- Angularjs 基于karma和jasmine的单元测试
目录: 1. 单元测试的配置 2. 实例文件目录解释 3. 测试controller 3.1 测试controller中变量值是否正确 3.2 模拟http请求返回值,测试$http服 ...
- Golang在Linux环境下的POSIX风格socket编程
这里给出一个服务端和client,服务端能够接受多个连接,而且利用Go的杀手特性go和channel来替代select进行数据的接收. 服务端: package main import ( " ...
- 行为驱动开发(BDD)
行为驱动开发(BDD) 引言 BDD是对TDD理念的扩展.BDD强调有利害关系的技术团体和非技术团队都要参与到软件开发过程中.可以把它看成一种强调团体间合作的敏捷方法.大多数采用某种敏捷方法的团队最终 ...
- HTTP相关概念
最近观看HTTP权威指南.这本书是一个小更,欲了解更多详细信息,我们不能照顾.但一些基本概念仍然应该清楚.在这里,我整理: HTTP--因特网的多媒体信使 HTTP 使用的是可靠的传输数据协议,因此即 ...