標籤: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>
效果