0 0

求教,extjs-4.0.0中treegrid官网中的例子不加载数据,如何改进5

第一次接触extjs,要做一个树形表格并且实现排序、增删列等,下载了官网上extjs-4.0.0的treegrid工具,部署到tomcat上能显示表格,但是无法加载官网提供的treegrid.json,有什么好的改进没有。感谢!
官网treegrid.js
Ext.require([
    'Ext.data.*',
    'Ext.grid.*',
    'Ext.tree.*'
]);

Ext.onReady(function() {
    //we want to setup a model and store instead of using dataUrl
    Ext.define('Task', {
        extend: 'Ext.data.Model',
        fields: [
            {name: 'task',     type: 'string'},
            {name: 'user',     type: 'string'},
            {name: 'duration', type: 'string'}
        ]
    });

    var store = Ext.create('Ext.data.TreeStore', {
        model: 'Task',
        proxy: {
            type: 'ajax',
            //the store will get the content from the .json file
            url: 'treegrid0.json'
        },
        folderSort: true
    });

    //Ext.ux.tree.TreeGrid is no longer a Ux. You can simply use a tree.TreePanel
    var tree = Ext.create('Ext.tree.Panel', {
        title: 'Core Team Projects',
        width: 500,
        height: 300,
        renderTo: Ext.getBody(),
        collapsible: true,
        useArrows: true,
        rootVisible: false,
        store: store,
        multiSelect: true,
        singleExpand: true,
        //the 'columns' property is now 'headers'
        columns: [{
            xtype: 'treecolumn', //this is so we know which column will show the tree
            text: 'Task',
            flex: 2,
            sortable: true,
            dataIndex: 'task'
        },{
            //we must use the templateheader component so we can use a custom tpl
            xtype: 'templatecolumn',
            text: 'Duration',
            flex: 1,
            sortable: true,
            dataIndex: 'duration',
            align: 'center',
            //add in the custom tpl for the rows
            tpl: Ext.create('Ext.XTemplate', '{duration:this.formatHours}', {
                formatHours: function(v) {
                    if (v < 1) {
                        return Math.round(v * 60) + ' mins';
                    } else if (Math.floor(v) !== v) {
                        var min = v - Math.floor(v);
                        return Math.floor(v) + 'h ' + Math.round(min * 60) + 'm';
                    } else {
                        return v + ' hour' + (v === 1 ? '' : 's');
                    }
                }
            })
        },{
            text: 'Assigned To',
            flex: 1,
            dataIndex: 'user',
            sortable: true
        }]
    });
});


官网数据treegrid.json
{"text":".","children": [
    {
        task:'Project: Shopping',
        duration:13.25,
        user:'Tommy Maintz',
        iconCls:'task-folder',
        expanded: true,
        children:[{
            task:'Housewares',
            duration:1.25,
            user:'Tommy Maintz',
            iconCls:'task-folder',
            children:[{
                task:'Kitchen supplies',
                duration:0.25,
                user:'Tommy Maintz',
                leaf:true,
                iconCls:'task'
            },{
                task:'Groceries',
                duration:.4,
                user:'Tommy Maintz',
                leaf:true,
                iconCls:'task'
            },{
                task:'Cleaning supplies',
                duration:.4,
                user:'Tommy Maintz',
                leaf:true,
                iconCls:'task'
            },{
                task: 'Office supplies',
                duration: .2,
                user: 'Tommy Maintz',
                leaf: true,
                iconCls: 'task'
            }]
        }, {
            task:'Remodeling',
            duration:12,
            user:'Tommy Maintz',
            iconCls:'task-folder',
            expanded: true,
            children:[{
                task:'Retile kitchen',
                duration:6.5,
                user:'Tommy Maintz',
                leaf:true,
                iconCls:'task'
            },{
                task:'Paint bedroom',
                duration: 2.75,
                user:'Tommy Maintz',
                iconCls:'task-folder',
                children: [{
                    task: 'Ceiling',
                    duration: 1.25,
                    user: 'Tommy Maintz',
                    iconCls: 'task',
                    leaf: true
                }, {
                    task: 'Walls',
                    duration: 1.5,
                    user: 'Tommy Maintz',
                    iconCls: 'task',
                    leaf: true
                }]
            },{
                task:'Decorate living room',
                duration:2.75,
                user:'Tommy Maintz',
                leaf:true,
                iconCls:'task'
            },{
                task: 'Fix lights',
                duration: .75,
                user: 'Tommy Maintz',
                leaf: true,
                iconCls: 'task'
            }, {
                task: 'Reattach screen door',
                duration: 2,
                user: 'Tommy Maintz',
                leaf: true,
                iconCls: 'task'
            }]
        }]
    },{
        task:'Project: Testing',
        duration:2,
        user:'Core Team',
        iconCls:'task-folder',
        children:[{
            task: 'Mac OSX',
            duration: 0.75,
            user: 'Tommy Maintz',
            iconCls: 'task-folder',
            children: [{
                task: 'FireFox',
                duration: 0.25,
                user: 'Tommy Maintz',
                iconCls: 'task',
                leaf: true
            }, {
                task: 'Safari',
                duration: 0.25,
                user: 'Tommy Maintz',
                iconCls: 'task',
                leaf: true
            }, {
                task: 'Chrome',
                duration: 0.25,
                user: 'Tommy Maintz',
                iconCls: 'task',
                leaf: true
            }]
        },{
            task: 'Windows',
            duration: 3.75,
            user: 'Darrell Meyer',
            iconCls: 'task-folder',
            children: [{
                task: 'FireFox',
                duration: 0.25,
                user: 'Darrell Meyer',
                iconCls: 'task',
                leaf: true
            }, {
                task: 'Safari',
                duration: 0.25,
                user: 'Darrell Meyer',
                iconCls: 'task',
                leaf: true
            }, {
                task: 'Chrome',
                duration: 0.25,
                user: 'Darrell Meyer',
                iconCls: 'task',
                leaf: true
            },{
                task: 'Internet Exploder',
                duration: 3,
                user: 'Darrell Meyer',
                iconCls: 'task',
                leaf: true
            }]
        },{
            task: 'Linux',
            duration: 0.5,
            user: 'Aaron Conran',
            iconCls: 'task-folder',
            children: [{
                task: 'FireFox',
                duration: 0.25,
                user: 'Aaron Conran',
                iconCls: 'task',
                leaf: true
            }, {
                task: 'Chrome',
                duration: 0.25,
                user: 'Aaron Conran',
                iconCls: 'task',
                leaf: true
            }]
        }]
    }
]}

问题补充:
akunyan 写道
是服务器不支持json格式文件解析,我的也这样,改为js格式就可以了。

现在可以了,在tomcat上部署好就能读取数据了,现在又遇到的问题是读取数据的问题,
var store = Ext.create('Ext.data.TreeStore', {   
        model: 'Task',   
        proxy: {   
            type: 'ajax',   
            //the store will get the content from the .json file   
            url: 'treegrid0.json'  
        },   
        folderSort: true  
    });   

提交方式是ajax,我只要打开包含这个treegrid的页面就会加载数据,因为现在又treegrid.json这个文件所以能加载,而实际情况是打开页面时不加载,查询结果出来以后再加载。对proxy和url不是很理解。能指导一下吗
2012年2月21日 13:07
  • 大小: 136.5 KB

2个答案 按时间排序 按投票排序

0 0

引用
提交方式是ajax,我只要打开包含这个treegrid的页面就会加载数据,因为现在又treegrid.json这个文件所以能加载,而实际情况是打开页面时不加载,查询结果出来以后再加载。对proxy和url不是很理解。能指导一下吗

具体我也很不清楚,你可以了解一下同步树和异步树,静态数据加载是同步的,一次性全加载进来了,如果真要查询结束才加载的话,可以到时才设置url,然后load方法就可以了。

2012年7月31日 15:59
0 0

是服务器不支持json格式文件解析,我的也这样,改为js格式就可以了。

2012年2月21日 15:41

相关推荐

    MyEclipse 8.5 + Spket 1.6.18 + ExtJS ext-4.0.0

    标题与描述中的关键词"MyEclipse 8.5 + Spket 1.6.18 + ExtJS ext-4.0.0"揭示了这是一篇关于如何在MyEclipse 8.5集成开发环境中配置并使用Spket插件以及ExtJS 4.0.0前端框架的文章。这一组合为开发者提供了强大的...

    ext-4.0.0.jsb2 使用插件开发extjs会用到的库文件

    ext-4.0.0.jsb2 使用插件开发extjs会用到的库文件 在eclipse安装spket时会用到这个jsb2库文件,当前ext js已经不提供官方的jsb2文件,这是第三方的jsb2文件。

    ext-4.0.0.jsb

    为支持extjs4安装spket插件所需要的文件ext-4.0.0.jsb

    ext-4.0.0jar.src

    "ext-4.0.0jar.src"是一个与Ext JS框架相关的源代码压缩包,源自其4.0.0版本。Ext JS是一个广泛使用的JavaScript库,用于构建富客户端Web应用程序,它提供了丰富的用户界面组件和数据绑定功能。这个特定的版本...

    Extjs treeGrid 本地数据 例子

    在这个“Extjs treeGrid 本地数据 例子”中,我们将探讨如何使用ExtJS创建一个本地数据驱动的TreeGrid,并了解相关的核心概念和技术。 首先,我们要理解TreeGrid的基础构成。TreeGrid由行(rows)组成,这些行可以...

    extjs-OA extjs-oa

    一个extjs的OA项目 extjs-OA extjs-oaextjs-OA extjs-oa

    extjs-620-docs.zip

    extjs-620-docs官方文档extjs-620-docs官方文档extjs-620-docs官方文档

    EXTJS4.X api chm格式以及ext-4.0.0.jsb2提示包等等一些

    EXTJS4.X api chm格式以及ext-4.0.0.jsb2提示包等等一些要用的方便你我

    extjs-4.1.1.zip

    ExtJS是一种强大的JavaScript库,专为构建富互联网应用程序(RIA)而设计,尤其适用于创建复杂的、数据驱动的前端用户界面。在"extjs-4.1.1.zip"这个压缩包中,包含了ExtJS框架的4.1.1版本,这是一个成熟的版本,...

    Extjs4的TreeGrid例子

    在"Extjs4的TreeGrid例子"这个主题中,我们将深入探讨TreeGrid的各种特性,以及如何在实际项目中应用这些示例。 1. **多语言支持**:描述中提到的"多语言"功能在ExtJS 4中通常通过i18n(国际化)实现。开发人员可以...

    extjs extjs-basex.js

    extjs-basex.js extjs-basex.js extjs-basex.js

    extjs-theme-bootstrap

    在实际开发中,为了使用 "extjs-theme-bootstrap",你需要将主题的 CSS 引入到你的 EXTJS4 应用程序中,并可能需要调整部分组件配置以确保与新主题兼容。同时,如果需要自定义主题,可以通过修改 Sass 文件来实现,...

    ext-4.0.0release

    Ext是一个用jscript(javascript)所写的一个ajax框架(我想大家都知道什么是ajax了吧,假想你已经知道,那我就不说了).而javascript也是更知道它的概念了,就更不用说了吧,好,那就也不说了.什么是Ext呢,结合javascript和...

    extjs4 treeGrid实例

    TreeGrid是ExtJS中的一个组件,结合了树形视图和表格的优点,可以用来展示层次结构的数据并支持数据的排序、筛选和操作。在本实例中,我们关注的是如何利用ExtJS4实现一个TreeGrid来创建一个report报表。 首先,...

    extjs-4.1.1 ExtJs所有文档及库文件

    extjs-4.1.1 ExtJs所有文档及库文件,在官网下的,这个版本很好,放在这方便大家下载!

    extjs-v7.0-cmd

    extjs-cmd 脚手架安装包2 extjs-cmd 脚手架安装包3 extjs-cmd 脚手架安装包4

    extJs-5.0.1-gpl(part1)

    extJs-5.0.1-gpl附带sencha cmd安装程序、ruby编译包(分为32位和64位)和教程,一共四部分

    ExtJs-3.2.0.rar

    这个"ExtJs-3.2.0.rar"压缩包包含了ExtJS 3.2.0版本的所有资源,允许开发者利用其强大的组件库和丰富的功能来创建交互式、数据驱动的网页应用。 1. **ExtJS框架介绍** ExtJS提供了一套完整的UI组件,包括表格、树...

    ExtJS-MVC-用户列表实例

    4. **存储(Store)**:在ExtJS中,Store是数据集的容器,它可以连接到数据源,如服务器端API,管理数据的加载、排序、过滤和更新。在这个例子中,Store会连接到服务器,请求用户数据,并将其绑定到GridPanel的模型...

    Extjs--DWR做的动态树

    这篇博客文章"Extjs--DWR做的动态树"可能探讨了如何利用这两者结合来创建动态的树形数据结构,这种结构在很多Web应用中用于展示层次化的信息,比如文件系统、组织结构或导航菜单。 动态树在Web应用中是交互式的,...

Global site tag (gtag.js) - Google Analytics