dapper+linq+json+ztree构建树
2015-07-12 19:59
417 查看
dapper获取实体的集合
linq处理集合,并通过Newtonsoft处理成json
前端ztree构建树
效果
/// <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>
效果
相关文章推荐
- Android原生生成JSON与解析JSON
- Android 核心分析 之Android的启动过程
- unity3d热更新插件uLua学习整理
- Android--Handler与Message
- android--ImageLoaderl离线缓存图片ImageLoaderConfiguration详解
- Android平台上使用气压传感器计算海拔高度
- 慕容小匹夫 Unity3D移动平台动态读取外部文件全解析
- Hdu 5119 HappyMatt Friends (2014年北京现场赛H题)
- Material Design之CoordinatorLayout+AppBarLayout实现上滑隐藏ToolBar
- Material Design之CoordinatorLayout+AppBarLayout实现上滑隐藏ToolBar
- nav state bar
- Android Studio中配置 Android annotations
- 出现这个问题The layout will refresh automatically once the process is finished.看不到app主页面布局,的解决方案
- Android LayoutInflater的使用
- Android突击:定制控件
- android状态栏一体化(改变状态栏的背景颜色)开源工程推荐
- WooCommerce 微信支付插件
- Android得到控件在屏幕中的坐标
- cocos2d-js(二)cocos2d-js的基本语法与类的简介
- cocos2d-js(二)cocos2d-js的基本语法与类的简介