`
郑云飞
  • 浏览: 813921 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

自动生成easyui tree json格式的数据

 
阅读更多

 

一、扩展原因

ztree使用了一种扁平化的数据加载方式,就是id(自身id),pid(父id)的方式,参考 http://www.ztree.me/v3/demo.php#_102,于是扩展easyui tree 也使用这种亲民的方式;

二、基本方法

1,载入扩展文件

2,在JS中实例化TREE

三、具体方法(easyui1.4.1下测试可用)

1,载入扩展JS

//自定义loadFilter的实现
$.fn.tree.defaults.loadFilter = function (data, parent) {
var opt = $(this).data().tree.options;
var idFiled,
textFiled,
parentField;
if (opt.parentField) {
idFiled = opt.idFiled || 'id';
textFiled = opt.textFiled || 'text';
parentField = opt.parentField;

var i,
l,
treeData = [],
tmpMap = [];

for (i = 0, l = data.length; i < l; i++) {
tmpMap[data[i][idFiled]] = data[i];
}

for (i = 0, l = data.length; i < l; i++) {
if (tmpMap[data[i][parentField]] && data[i][idFiled] != data[i][parentField]) {
if (!tmpMap[data[i][parentField]]['children'])
tmpMap[data[i][parentField]]['children'] = [];
data[i]['text'] = data[i][textFiled];
tmpMap[data[i][parentField]]['children'].push(data[i]);
} else {
data[i]['text'] = data[i][textFiled];
treeData.push(data[i]);
}
}
return treeData;
}
return data;
};
//实例化。这里增加了三个属性,可以指定idFiled,textFiled和parentField。所以这里的simpleData可以不严格转换成tree的数据格式。
$(function(){
$('#tt3').tree({
checkbox: true,
url: 'tree_data_simp.json',
parentField:"pid",
textFiled:"name",
idFiled:"key"
});
});

json文件:

[
{
"key": 1,
"name": "Folder1",
"iconCls": "icon-ok"
},
{
"key": 2,
"pid": 1,
"name": "File1",
"checked": true
},
{
"key": 3,
"pid": 1,
"name": "Folder2",
"state": "open"
},
{
"key": 4,
"pid": 3,
"name": "File3",
"attributes": {
"p1": "value1",
"p2": "value2"
},
"checked": true,
"iconCls": "icon-reload"
},
{
"key": 8,
"pid": 3,
"name": "Async Folder"
},
{
"key": 9,
"name": "language",
"state": "closed"
},
{
"key": "j1",
"pid": 9,
"name": "Java"
},
{
"key": "j2",
"pid": 9,
"name": "C#"
}
]

分享到:
评论

相关推荐

    EasyUI treegrid json格式生成方法

    使用这个函数,你可以轻松地将任何层次结构的JSON数据转换为适用于EasyUI TreeGrid的格式。在实际应用中,你可能需要根据具体的数据结构和需求对这个函数进行调整。 在提供的`easyui-treegrid-json.zip`压缩包中,...

    easyui tree 三帧界面

    在`getInfo.php`中,根据接收到的ID查询数据库,返回包含图片URL和批注的JSON数据。然后在前端,可以使用这些数据来动态加载图片和展示批注信息。 总结起来,“easyui tree 三帧界面”是一种常见的Web应用布局,它...

    easyui tree

    在 EasyUI 中,"Tree" 是一个重要的组件,常用于展示层级结构的数据,如组织架构、文件目录等。本例子是关于如何使用 EasyUI 来生成一个简单的树形结构,非常适合初学者学习。 首先,我们需要理解 EasyUI Tree 的...

    jquery使用EasyUI Tree异步加载JSON数据(生成树)

    本文将详细介绍如何使用jQuery结合EasyUI库中的Tree组件实现对JSON数据的异步加载以生成树状结构,并对实现细节进行深入讲解。这个技术点在现代Web开发中非常常见,特别是在需要处理具有层级关系的数据时,如菜单、...

    EasyUI Tree+Asp.net实现权限树或目录树导航的简单实例

    通过这个机制,Tree控件能够动态地从服务器端获取节点信息,并根据返回的JSON数据递归地构建出完整的树形结构。 知识点五:事件处理 EasyUI Tree控件提供了丰富的事件处理器,例如onClick和onLoadSuccess事件,这些...

    easyUI-springmvc-tree-demo

    4. 数据解析:前端接收到响应后,Tree组件会自动解析JSON数据,生成对应的树结构。如果数据包含操作状态,Tree会根据这些状态更新视图。 四、示例代码 以下是一个简单的SpringMVC Controller示例,用于返回Tree的...

    详解Jquery EasyUI tree 的异步加载(遍历指定文件夹,根据文件夹内的文件生成tree)

    本文将详细介绍如何使用Jquery EasyUI的tree组件实现异步加载,即将遍历指定的文件夹,并根据文件夹内的文件和子文件夹动态生成tree结构。 在讲解Jquery EasyUI tree的异步加载之前,需要理解tree组件的基本概念。...

    Jquery EasyUI 异步树,适合大数据量无限级加载

    通过合理配置`tree`组件,结合后端动态生成的JSON数据,可以实现高效、灵活的异步加载效果。在实际开发中,还要注意优化请求性能,如缓存已加载的节点,避免重复请求,以及处理好网络延迟等问题,以达到最佳效果。

    使用easyUI实现树菜单

    例如,如果希望某个节点默认展开,可以在JSON数据中设置`state`为`'open'`。 ### 6. 节点操作 EasyUI的树菜单提供了丰富的API方法,如`expandNode`用于展开指定节点,`collapseNode`用于折叠节点,`selectNode`...

    easyui+jsonTest

    4. **响应式设计**:EasyUI的组件可以根据JSON数据动态调整自身大小和状态,比如在数据量变化时自动分页。 5. **数据操作**:EasyUI还支持对JSON数据的增删改查操作,如表格的编辑、删除功能,可以通过JSON数据与...

    easyui树形菜单操作

    可能的实现方式是通过后台代码(C# 或 VB.NET)动态生成 JSON 数据,然后在前台用 JavaScript 调用 easyui 的 `$.fn.tree.loadData` 方法将数据加载到 Tree 控件中。 4. **ProcessFile** "ProcessFile" 这个文件名...

    Easyui异步生成树节点,动态获取树节点

    - 处理 AJAX 回调,将返回的数据格式化为 Tree 能识别的 JSON 格式,然后调用 `reload` 方法更新树节点。 - 对于 DataGrid,配置其 `url` 属性,与 Tree 结合时,可以通过 Tree 的 `onClick` 事件触发 AJAX 请求,...

    Asp.net配合easyui实现返回json数据实例

    在实现***返回JSON数据给easyui控件时,常见问题包括数据格式不正确或前后端的数据交互不顺畅等。比如,easyui的combobox控件在使用data-options时,需要指定一个URL来获取数据,但如果返回的数据中包含了HTML代码,...

    jqueryeasyui_tree_comtree.docx

    3. 将TreeNode对象转换为JSON格式,因为EasyUI的ComTree组件需要JSON数据来渲染树形结构。 4. 在JavaScript中,设置ComTree的配置项,如url(指向返回JSON数据的服务器端接口)和其他自定义选项。 5. 调用`$.fn.tree...

    自己做的easyUI+mybatis+springMVC项目示例代码以及easyUI中tree的异步加载代码

    在EasyUI的异步加载中,SpringMVC的控制器将处理来自`tree`组件的请求,根据请求参数查询数据库,生成JSON格式的响应数据。 4. **联动效果**:在描述中提到了`tree`和`accordion`的联动效果。`accordion`是另一种...

    EasyUI 多层导航框架

    1. 数据绑定:通过JSON数据结构,将菜单项与`easyui-accordion`和`easyui-tree`组件关联起来,动态生成导航结构。 2. 事件处理:监听用户的点击事件,根据选择的菜单项执行相应的操作,如跳转页面、加载内容或展开/...

    easyui java系统

    - JSON 数据格式:EasyUI 组件通常通过 AJAX 从后端获取 JSON 格式的数据,因此,了解如何在 Java 中生成和解析 JSON(例如使用 Jackson 或 Gson 库)是必要的。 - RESTful API 设计:Java 后端需要提供符合 REST ...

    采用easyui tree编写简单角色权限代码的方法

    最后,前端接收到JSON数据后,Tree组件会自动解析并渲染出来,呈现出一个多选的树形结构,管理员可以根据需要勾选相应的权限。 总的来说,通过EasyUI的Tree组件和后台的递归处理,我们可以方便地实现角色权限的分配...

Global site tag (gtag.js) - Google Analytics