`

DOJO-dijit.Tree(异步树的一种实现方式)

阅读更多

 

dojo.require("dijit.Tree");
dojo.require("dojo.data.ItemFileWriteStore");
dojo.require("dijit.tree.ForestStoreModel");
dojo.require("dojox.data.JsonRestStore");

 

//TreeStore

var store = new dojo.data.ItemFileWriteStore({
    url:'',
    labelAttribute: "name"

});

 

//Tree
var tree = new dijit.Tree({
    region: 'leading',
    splitter:true,
    style: 'width:140px;',
    allowMultiState: true,
    branchIcons: true,
    nodeIcons: true,
    openOnClick : true,
    //persist: false,
    model: new dijit.tree.ForestStoreModel({
        store: store,
        rootId: "0",
        rootLabel: "ROOT",
        childrenAttrs: ["children"]
    })

});

//节点点击事件

tree .set("onClick", function(item, node, event){
    dojo.xhrPost({
        url: 'url',
        sync: true,
        handleAs: 'json',
        content: {
            pid: item.id  //点击的节点ID
        },
        load:function(response){
            var data = response.items;
            //加载子节点
            for(var i=0;i<data.length;i++){
                store.fetchItemByIdentity({
                    identity: data[i].id, 
                    onItem: function(i){
                        var parent = {
                            parent: item,
                            attribute: 'children'
                        };
                        store.newItem({
                            id: data[i].id,  //节点ID
                            name: data[i].name  //节点名称
                        }, parent);  //给父节点添加子节点
                    }
                });
            }
        },
        erro:function(error){}
    });
});

更多信息请查看 java进阶网 http://www.javady.com

分享到:
评论

相关推荐

    dojo 树形列表 dijit.tree

    Dijit是Dojo Toolkit的一部分,专门提供了一系列可复用的UI控件,其中包括我们关注的“dijit.tree”,即树形列表。在本篇文章中,我们将深入探讨这五个关于dijit.tree的例子,并了解如何在实际应用中实现它们。 1. ...

    struts2-dojo-tree各种实例

    Struts2 Dojo Tree的实现依赖于Dojo的dijit.Tree模块,它提供了一个可定制的树视图,包括节点展开、折叠、选择等操作。在Struts2中,我们需要配置Action来处理树形数据的请求,并通过JSON或XML格式返回数据。同时,...

    Dojo API 1.9.chm 离线参考手册

    1. **模块系统**:Dojo的核心特性之一是它的AMD(Asynchronous Module Definition)模块系统,允许异步加载和组织代码,通过`require`和`define`函数来实现。这使得大型应用的构建和维护变得更加高效和有序。 2. **...

    dojo-release-1.8.2

    5. **dojo/store** 和 **dojo/data**:这两个模块定义了数据存储接口和模型,为异步数据访问提供了一致的API,与dojo/dnd(拖放)和dijit/Tree等组件配合使用。 6. **dojo/request**:负责网络请求,支持...

    基于dojo的动态树

    【基于Dojo的动态树】是一种使用JavaScript库Dojo Toolkit创建的交互式树形结构,常用于展现层次化的数据或导航菜单。Dojo Toolkit是一个功能强大的JavaScript库,它提供了多种UI组件,包括Tree组件,可以方便地在...

    dojo动态tree

    Dojo 动态Tree是基于Dojo Toolkit的一个组件,它用于在Web应用中展示层级结构的数据,例如组织架构、文件目录或任何具有层次关系的信息。Dojo Toolkit是一个强大的JavaScript库,提供了丰富的UI组件和功能,使得开发...

    dojo相关的js

    结合Dojo,开发者可以利用Dojo的高级AJAX功能来增强Struts2应用的用户体验,比如实现页面的部分刷新、异步数据交换等。 Dojo的核心组件包括dojo.js,这是一个包含Dojo基础功能的主文件,如加载机制、DOM操作、事件...

    dojo任意级树的节点转移

    Dojo Tree通过`dijit/tree/ForestStoreModel`和`dijit/Tree`等组件提供了强大的树型数据模型和渲染能力。 "任意级树的节点转移"涉及到的主要知识点有: 1. **数据模型**:在Dojo Tree中,每个节点都由一个数据对象...

    实战Dojo工具包 PDF

    例如,`dijit.form.Button`可以创建交互式按钮,`dijit.Tree`则可构建可折叠的层级结构,这些组件通过声明式语法或者程序化方式即可轻松创建。 此外,Dojo还提供了数据绑定和模型层支持,比如`dojo.data`模块,它...

    dojo中文++++资料

    Dojo提供TreeGrid和Dijit Tree等组件来实现这一功能。它们支持异步加载,可以高效处理大量数据,并且可以通过AJAX技术实时更新树状结构。 1. **TreeGrid**:结合表格和树形结构,适用于显示具有复杂数据和多级分类...

    DOjo中文使用手册

    DOjo提供了三种安装方式:使用美国在线(AOL)的内容分发网络(CDN),在本地使用稳定版本,和从DOjo网站的SVN服务器上获取最新代码。使用CDN上的DOjo非常快捷,用户只需添加一个script标签到HTML文件中就可以使用...

    功能齐备的treeview控件

    在IT领域,treeview控件是一种常见的用户界面元素,它用于以树形结构展示数据,使得用户可以方便地浏览和操作层级关系的数据。本篇将详细探讨dojo库中的treeview控件,以及如何利用它来实现功能完备的树视图。 Dojo...

    DTree分栏实例

    DTree的实现通常依赖于JavaScript库,例如jQuery UI的Treeview插件、Dojo Toolkit的Dijit Tree,或者是专为前端开发设计的框架,如AngularJS或Vue.js中的相应组件。这些库提供了丰富的API和配置选项,开发者可以根据...

Global site tag (gtag.js) - Google Analytics