懒加载树
参考示例:
懒加载树
创建代码
<ul id="tree1" class="mini-tree" url="../data/TreeService.aspx?method=LoadNodes" style="width:300px;height:200px;padding:5px;"
showTreeIcon="true" textField="name" idField="id" onbeforeload="onBeforeTreeLoad">
</ul>
服务端返回数据
[{
id: "form",
text: "Form",
......
isLeaf: false, //是否叶子节点:+和-号
expanded: false //节点处于收缩状态
},
......
]
其中,isLeft 说明此节点是否有下一级节点。expanded 表示此节点处于折叠状态。
懒加载事件
当用户点击"+"图标时,会自动加载下一级节点,此时会把当前节点id传递到后台,也可以拦截加载事件,增加额外属性:
function onBeforeTreeLoad(e) {
var tree = e.sender; //树控件
var node = e.node; //当前节点
var params = e.params; //参数对象
//可以传递自定义的属性
params.myField = "123"; //后台:request对象获取"myField"
}
服务端处理
服务端通过request获取"id"属性后,加载此节点的下一级节点数组,并通过JSON返回。
String id = Request["id"];
if (String.IsNullOrEmpty(id)) id = "-1";
//获取下一级节点
String sql = "select * from plus_file where pid = '" + id + "' order by updatedate";
ArrayList folders = DBUtil.Select(sql);
//判断节点,是否有子节点。如果有,则处理isLeaf和expanded。
for (int i = 0, l = folders.Count; i < l; i++)
{
Hashtable node = (Hashtable)folders[i];
String nodeId = node["id"].ToString();
String sql2 = "select * from plus_file where pid = '" + nodeId + "' order by updatedate";
ArrayList nodes = DBUtil.Select(sql2);
if (nodes.Count > 0)
{
node["isLeaf"] = false;
node["expanded"] = false;
}
}
//返回JSON
String json = PluSoft.Utils.JSON.Encode(folders);
Response.Write(json);
分享到:
相关推荐
在实际开发中,使用这个jQuery树形控件可能涉及以下步骤: 1. 引入jQuery库、`widgetTreeList.js`以及相应的CSS文件。 2. 在HTML中创建一个容器元素,作为树形控件的占位符。 3. 初始化树形控件,传递必要的数据源和...
在IT领域,尤其是在Web开发中,树形控件是一种常见的用户界面元素,它用于展示具有层级关系的数据。本文将深入探讨“支持jQuery和Zepto的树形控件”,基于Dtree这一实现方式。 首先,jQuery和Zepto是两种广泛使用的...
总结来说,"基于C# + jQuery的树形控件"项目涉及了后端编程、前端交互、数据库操作和UI设计等多个方面,对于提升Web开发技能和理解前后端协作流程有着重要的实践意义。通过理解和实现这个项目,开发者可以深入了解...
4. Web开发:HTML5中没有原生的树形控件,但可以通过JavaScript库(如jQuery UI、AngularJS的ngTree等)实现。 5. Python GUI:如Tkinter库中的`ttk.Treeview`,或PyQt中的`QTreeWidget`。 五、操作与特性 1. 展开/...
在本资源中,"树形控件_可用的树形控件加载复选框_"是一个特别的实现,它在树形结构的基础上增加了复选框功能,允许用户对每个节点进行选择或不选择的操作。 树形控件的核心特点包括: 1. **层级结构**:每个节点...
jQuery MiniUI - 快速开发WebUI。 它能缩短开发时间,减少代码量,使开发者更专注于业务和服务端,轻松实现界面开发,带来绝佳的用户体验。 使用MiniUI,开发者可以快速创建Ajax无刷新、B/S快速录入数据、CRUD、...
1. **组件丰富**:MiniUI 包含了大量的前端组件,如表格(Table)、表单(Form)、树形结构(Tree)、下拉选择(ComboBox)、日期选择器(DateBox)等,几乎涵盖了常见的 Web UI 元素。 2. **易于使用**:通过简单...
总结,JavaScript树形控件是网页开发中的重要工具,通过掌握其原理、实现方法和优化策略,开发者可以创建出符合需求、高性能的树形界面,提升用户体验。同时,不断学习和实践新的库和框架,可以更高效地开发这类组件...
- **库与框架**:如jQuery UI、AngularJS、React等提供了树形控件的组件,简化开发过程。 - **自定义组件**:根据需求,开发者可自行编写逻辑,实现特定功能的树形控件。 3. **常用API** - **添加节点**:向树中...
树形控件在网页开发中是一种常见的用户界面元素,它以层级结构展示数据,常用于文件系统、组织架构、导航菜单等场景。"树形控件js"指的是使用JavaScript实现的这种控件,通过HTML文档来展示和交互。在本篇文章中,...
动态加载树形结构, 本人这段时间正巧要做一个省市县的树状结构图,公司之前用的dtree实现起来效率太低,半天打不开页面,于是考虑用jquery动态加载,通过网上查资料,学习别人的列子,现将本人所整理的树状结构...
1. **组件丰富**:MiniUI包含了大量的UI组件,如表格(Grid)、树(Tree)、下拉选择框(ComboBox)、日期选择器(DatePicker)等,这些组件都进行了充分的封装,使得开发过程更为简洁。 2. **响应式设计**:框架...
**JSP树形控件详解** 在Web开发中,用户界面的设计往往需要展示层次结构的数据,比如文件系统、组织架构等。此时,树形控件(Tree Control)就显得尤为重要。在JavaServer Pages (JSP) 中,我们可以利用各种库和...
在网页开发中,下拉树形控件是一种常见的交互元素,尤其在数据层级关系复杂时,它能够有效地展示和管理这些层次结构。本教程将深入探讨如何使用jQuery库来实现这种功能。 首先,jQuery是一个轻量级的JavaScript库,...
总的来说,jQuery懒加载版本表格树GridTree是一个高效、灵活的前端组件,适用于那些需要展示大量树形结构数据的应用场景。它的懒加载机制和回调接口设计,既保证了性能,又提供了丰富的定制可能性,是现代Web开发中...
本教程将详细讲解如何使用ASP(Active Server Pages)、JavaScript和CSS来实现一个网页中的树形控件。 首先,ASP是微软开发的一种服务器端脚本语言,用于动态生成HTML页面。在创建树形控件时,ASP主要负责后端数据...
EasyUI 是一个基于 jQuery 的轻量级前端框架,它提供了丰富的组件,包括表格、对话框、菜单、按钮、树形控件等,帮助开发者快速构建用户界面。在本主题中,我们将深入探讨“EasyUI 树形控件展示”及其在实际应用中的...
**jQuery树形控件详解** 在网页开发中,树形控件是一种常见且实用的UI元素,用于展示层级关系的数据,如目录结构、组织架构等。jQuery,作为一款广泛使用的JavaScript库,提供了丰富的插件来实现这样的功能。本文将...
jQuery miniUI 是一款基于jQuery开发的轻量级Web UI组件库,它提供了丰富的控件,使得开发人员可以快速地构建出具有专业外观的Web应用程序。本文主要讲述的是在jQuery miniUI中如何应用表格控件来合并单元格。 合并...
对于大量数据的树形控件,可以采用懒加载策略,只在需要时加载子节点,减少初次加载时的数据量。此外,文件上传时应验证文件类型和大小,防止恶意文件的上传,同时考虑文件存储的持久化和备份策略。 综上所述,"树...