easyui treegrid的使用示例

一、前端:

 1 <div id="tbList" fit="true"></div>
 2
 3 $(function () {
 4     $("#tbList").treegrid({
 5         url: "/Action/MenuIndex/",
 6         method: ‘post‘,
 7         title: ‘菜单列表‘,
 8         idField: ‘Id‘,
 9         treeField: ‘Name‘,
10         iconCls: ‘ext-icon-application_side_tree‘,
11         rownumbers: true,
12         animate: true,
13         fitColumns: true,
14         resizable: true,
15         frozenColumns: [[
16             { title: ‘菜单名称‘, field: ‘Name‘, width: 200 }
17         ]],
18         columns: [[
19             { title: ‘排序‘, field: ‘DisOrder‘, width: 40 },
20             { title: ‘区域名‘, field: ‘AreaName‘, width: 80},
21             { title: ‘控制器名‘, field: ‘ControllerName‘, width: 80},
22             { title: ‘Action方法名‘, field: ‘ActionName‘, width: 80 },
23             {
24                 title: ‘FormMethod‘, field: ‘请求方式‘, width: 80,
25                 formatter: function (value, row, index) {
26                     return new Object(row["FormMethodDictionary"]).Name;
27                 }
28             },
29             {
30                 title: ‘OperationType‘, field: ‘操作类型‘, width: 80,
31                 formatter: function (value, row, index) {
32                     return new Object(row["OperationTypeDictionary"]).Name;
33                 }
34             },
35             {
36                 field: ‘IsShow‘, title: ‘显示‘, width: 25, align: ‘center‘, formatter: function (colData) {
37                     return colData ? "√" : "X";
38                 }
39             },
40             {
41                 field: ‘IsLink‘, title: ‘链接‘, width: 25, align: ‘center‘, formatter: function (colData) {
42                     return colData ? "√" : "X";
43                 }
44             },
45             { title: ‘备注‘, field: ‘Remark‘, width: 150 },
46             { title: ‘ParentId‘, field: ‘ParentId‘, hidden: true }
47         ]],
48         toolbar: [{
49             text: "添加",
50             iconCls: ‘icon-add‘,
51             handler: add
52         }, ‘-‘, {
53             text: "修改",
54             iconCls: ‘icon-edit‘,
55             handler: modify
56         }, ‘-‘, {
57             text: "删除",
58             iconCls: ‘icon-remove‘,
59             handler: remove
60         }]
61
62     });
63 });

二、后端:

 1 public ActionResult MenuIndex(FormCollection form)
 2 {
 3     //取从数据字典中取中Menu对应的ID号
 4     var dic = _dictionaryService.Single(o => o.Name == "MENU" && o.IsDeleted == false);
 5     var menuId = dic.Id;
 6
 7     //查询所有菜单信息
 8     var menus = _actionService.Where(o => o.IsDeleted == false && o.OperationType == menuId && o.IsShow == true, o => o.DisOrder, true, "FormMethodDictionary", "OperationTypeDictionary").ToList();
 9
10     //构造TreeGrid的数据
11     RSCC.Model.PageData<ActionViewModel> treegrids = new RSCC.Model.PageData<ActionViewModel>();
12     treegrids.total = menus.Count();
13     treegrids.rows = menus.Select(o => o.ToViewModel()).ToList();
14
15     //转化为JSON格式
16     var strJson = operationContext.ToJson(treegrids);
17     return Content(strJson);
18
19 } 

三、注意事项:

对应的ViewModel中必须有 _parentId 和 state 属性,iconCls 可选。

四、实现效果如下:

  

时间: 2024-08-25 12:00:06

easyui treegrid的使用示例的相关文章

knockoutjs + easyui.treegrid 可编辑的自定义绑定插件【转】

目前仅支持URL的CRUD.不需要的话可以却掉相关代码,把treegrid的data直接赋值给viewModel,然后用ko提交整个data 1.支持双击编辑 2.单击Cell,自动保存编辑. 3.4个功能按钮. 插件源码: ko.bindingHandlers.etreegrid = { editing: false, editIndex: 0, init: function (element, valueAccessor, allBindings, viewModel, bindingCon

EasyUi TreeGrid封装

http://www.cnblogs.com/Leo_wl/p/4319470.html 礼物一:树型实体的抽象与封装 所谓树型实体,就是具有树型结构关系的实体,比如省.市.区.对于初学者,可能会创建三张表进行存储,有经验的开发者通过引入ParentId将设计简化为一张表,但是基于ParentId的设计也不够完美,主要问题是查找某个节点的所有上级或所有下级时,都需要进行递归,这是一个低效而复杂的操作. 更有经验的开发者会引入物化路径Path,物化路径是对节点关系的记录,一般格式为:当前节点Pat

基于EasyUI Treegrid的权限管理资源列表

1. 前言 最近在开发系统权限管理相关的功能,主要包含用户管理,资源管理,角色管理,组类别管理等小的模块.之前的Web开发中也用过jQueryEasyUI插件,感觉这款插件简单易用,上手很快.以前用到的主要是Datagrid组件,这次为了区分资源的父子关系,打造更好的用户体验,遂探索一下Treegrid组件. 2.jQueryEasyUI简介 jQuery EasyUI是一组基于jQuery的UI插件集合体,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的U

Jquery easyui treegrid实现树形表格的行拖拽

前几天修改了系统的一个功能——实现树形列列表的行拖拽,以达到排序的目的.现在基本上功能实现,现做一个简单的总结. 1.拿到这个直接网上搜,有好多,但是看了后都觉得不是太复杂就是些不是特别想看的例子,自己太懒(对自己不是很熟悉的东西是不愿意第一去看的).结果选择良久,还是jquery easyui treegrid这个例子自己看起来比较熟悉.于是就专心研究了,从官方网站http://www.jeasyui.net/下载了demo,开始研读.先把jsp页面一些代码贴出 <link rel="s

EasyUI treegrid 实现点击父节点加载子节点

今天在项目中遇到问题,要实现 EasyUI   treegrid 实现点击父节点加载子节点 第一反应是去百度一下,谷歌一下,发现网上的回答不是懒加载就是在onBeforeExpand调用append方法 我决定使用第二种方法,定义treegrid的onBeforeExpand方法,在里面调用appen方法. 然而当我兴冲冲的运行的时候,出问题了, Firefox出现too much recursion异常提示 在网上看了一下这个问题的出现原因,大家都说是,非法使用了js关键字,可是我看了几遍代码

c# XML解析成EasyUI TreeGrid格式

1.分析EasyUI TreeGrid的数据格式,demo的格式是这样的:http://www.jeasyui.net/demo/treegrid_data1.json 分析之后,得到基本的JSON格式: [ { "id": 1, "name": "name1", "value": "", "children": [ { "id": 2, "name&quo

easyui treegrid 使用技巧

一:easyui treegrid重新加载数据 1:self.grid.treegrid('loadData', []);//清空数据 self.grid.queryParams({});//重新加载 //self.grid.treegrid('reload');//treegrid重新加载一次 2:window.location.reload(); 二:easyui treegrid获取被选中的数据 var rows = null; rows = self.grid.treegrid('get

[Asp.NET MVC+EasyUI] TreeGrid全部加载及懒加载示例

本篇文主要对EasyUI中TreeGrid组件的使用进行演示.对于正在学此组件的童鞋,不防花个几分钟看一下.本文主要演示:TreeGrid的简单应用.懒加载方法.控件数据格式. TreeGrid组件是由DataGrid集成而来,可以使行与行之间存在父子关系,是一种树形网格组件. 1. 创建简单示例 通过post方式调用后端数据,将数据展示到前端,具体代码如下: 1.1 前端代码 <html xmlns="http://www.w3.org/1999/xhtml"> <

knockoutjs + easyui.treegrid 可编辑的自定义绑定插件

http://blog.csdn.net/maddemon/article/details/16846183 目前仅支持URL的CRUD.不需要的话可以却掉相关代码,把treegrid的data直接赋值给viewModel,然后用ko提交整个data 1.支持双击编辑 2.单击Cell,自动保存编辑. 3.4个功能按钮. 插件源码: ko.bindingHandlers.etreegrid = { editing: false, editIndex: 0, init: function (ele