`
zjnbshifox
  • 浏览: 314911 次
  • 性别: Icon_minigender_1
  • 来自: 宁波
社区版块
存档分类
最新评论

Extjs按需加载的问题

阅读更多
Extjs在使用accordion layout,总共分2个页签,每个页签都有一棵树
layout:'accordion',  
                 layoutConfig:{  
                     animate:true,
                     hideCollapseTool:true
                 },  
                 items: [{  
                     title:'导航',  
                     autoScroll:true,  
                     border:false,  
                     iconCls:'nav',  
                     html:'<div id="nav-tree" style="overflow:auto;height:400px;border:0px solid c3daf9;"></div>'
                    }  
                 ,{  
                     title:'用户设置',  
                     html: '<div id="set-tree" style="overflow:auto;height:400px;border:0px solid c3daf9;"></div>',  
                     border:false,  
                     autoScroll:true,  
                     iconCls:'settings'  
                 }]  、


//树~~~
var navtree;
		var settree;
		var sroot;
		var root;
		if(!navtree){  
	        navtree = buildTree('nav-tree');
	        root = new Ext.tree.AsyncTreeNode({  
		         text: '导航菜单',  
		         draggable:false,  
		         id:'nroot'  
		     });  
		    navtree.setRootNode(root);
	        root.appendChild(new Ext.tree.TreeNode({text:"按钮"}));
	        navtree.render();  
     		root.expand(); 
        };
        
        if(!settree){
        	settree = buildTree('set-tree');
        	sroot = new Ext.tree.AsyncTreeNode({  
		         text: '设置菜单',  
		         draggable:false,  
		         id:'sroot'  
		     });  
		    settree.setRootNode(sroot);
	        sroot.appendChild(new Ext.tree.TreeNode({text:"按钮"}));
	        settree.render();
	        sroot.expand(); 
	        settree.show();	
     		      	
        };

       function buildTree(divid){
       		 var tree = new Ext.tree.TreePanel({  
		         el:divid, 
		         //applyTo:divid, 
		         autoScroll:true,		           
		         animate:true,  
		         border:false,  
		         enableDD:true,  
		         containerScroll: true,
		         lines:false, 
		         autoShow:true,
		         rootVisible:false});
		     return tree;
       };

现在的问题是,第一棵树可以显示,第二页上的树不能显示,用firebug调试的时候,设置断点,在第二棵树显示之前用鼠标切换到第二页签,树能够正常显示?我感觉是extjs的按需加载的问题,
有什么办法能让这2棵树同时显示??
现在暂时的解决办法是,第二棵树使用另外的方式构造,代码如下:
 if(!settree){
        	settree = new Ext.tree.TreePanel({  
		         autoShow:true,
		         autoScroll:true,		           
		         animate:true,  
		         border:false,  
		         enableDD:true,  
		         containerScroll: true,
		         lines:false, 
		         autoShow:true,
		         rootVisible:false})     	
        };
        sroot = new Ext.tree.AsyncTreeNode({  
		         text: '设置菜单',  
		         draggable:false,  
		         id:'sroot'  
		});
        settree.setRootNode(sroot);
	    sroot.appendChild(new Ext.tree.TreeNode({text:"按钮"}));
	    settree.render(Ext.get('set-tree'));
	    settree.expandAll(); 
分享到:
评论
1 楼 kooyeed 2008-02-24  
我根的效果一样,不过数据是通过jsonReader过来的,问题是:
FF下没问题,IE下总有一个抽屉是空白的,郁闷。。。

相关推荐

    extjs tree 异步加载树型

    这种方式避免了一次性加载大量数据导致的性能问题,特别是当树型结构非常深或者包含大量节点时。 在 ExtJS Tree 中实现异步加载,主要涉及以下几个关键点: 1. **TreeStore**:存储树节点数据的模型,可以配置 `...

    ExtJs中Store加载(load)时候提示信息

    在开发基于ExtJS框架的应用程序时,处理数据加载与用户交互是至关重要的环节。当Store在加载(load)数据过程中,向用户提供明确的提示信息,不仅能够提升用户体验,还能增加应用的专业度。以下是对如何在ExtJS中...

    ExtJs GridPanel延时加载.rar

    在给定的"ExtJs GridPanel延时加载.rar"文件中,主要涉及的核心概念是ExtJs中的GridPanel组件以及延时加载技术。GridPanel是ExtJs中一个非常重要的组件,它用于展示表格数据,而延时加载则是一种优化大量数据处理的...

    Extjs 动态加载树

    以上内容是对“Extjs 动态加载树”这一主题的概述,实际的博文可能包含了更详细的实现步骤、代码示例和问题解决技巧。由于具体的博客内容不可见,以上分析是基于对Extjs框架和动态加载树常见实践的普遍理解。如果你...

    Extjs动态加载菜单

    首先,动态加载菜单的概念是指菜单项不是在页面加载时一次性全部显示,而是根据用户的操作或特定条件按需加载。这种设计提高了应用的响应速度,降低了初始加载的资源需求,尤其是在菜单结构复杂或菜单项数量众多时。...

    Extjs4.2 动态加载项目(权限模块)

    动态加载是ExtJS中的一个重要概念,它允许应用程序按需加载所需的类和资源,从而减少初始页面加载时间,提高用户体验。 在“Extjs4.2 动态加载项目(权限模块)”中,动态加载主要体现在两个方面:一是对代码的懒加载...

    ExtJS构造动态异步加载

    而动态异步加载(Asynchronous Loading)则是在用户滚动或交互时按需加载数据,降低了初始加载的时间,提升了性能。ExtJS的树组件支持这种加载方式,只在需要时请求服务器获取节点数据。 接下来,我们关注树形结构...

    extjs中Ext.Panel和TreePanel 组件动态加载本地页面数据

    在实际项目中,结合`jq`库(可能是jQuery的简写),可以方便地处理DOM操作,与EXTJS的组件交互,进一步增强动态加载的效果,比如添加动态加载的动画、错误处理等。 总结来说,`Ext.Panel`和`TreePanel`在EXTJS中是...

    Extjs3动态加载js源码

    动态加载JS(Dynamic JavaScript Loading)是现代Web开发中的一个重要技术,它可以提高页面的加载速度,减少初始加载的数据量,并在需要时按需加载资源,从而优化用户体验。 在ExtJS 3中,虽然没有像ExtJS 4那样...

    Extjs之旅-combox之远程加载数据

    本篇我们将深入探讨“Extjs之旅”中的一个关键组件——Combox(组合框),特别是其远程加载数据的特性。 Combox在ExtJS中是一个非常灵活的控件,它可以看作是下拉列表和文本输入框的结合体,用户可以输入文本搜索,...

    Extjs 4.2.x MVC 动态加载 controller demo

    demo描述: 1. 页面主框架是左是一个tree,右边是一个tablepanel 2. 左边的树是加载主页面的时候动态生成 3. 点击左边的树的节点动态加载...注:需要自己导入Extjs 4.2.x 的文件,该demo是用Extjs 4.2.1 写的

    Extjs4树结构异步加载

    在ExtJS4中实现树结构的异步加载,主要涉及以下几个关键概念: 1. **TreeStore**: TreeStore是树结构的数据源,它负责管理与服务器之间的数据通信。对于异步加载,我们需要配置TreeStore,设置`autoLoad`为`false`...

    extjs实现动态树加载菜单

    动态树加载菜单是 ExtJS 中一种常见且实用的功能,它允许用户在需要时按需加载树节点,从而提高应用性能,减少初次加载时的数据量。 动态树加载,也称为懒加载或按需加载,是指在用户滚动、展开节点或执行其他操作...

    Extjs4.1.x 框架搭建 采用Application动态按需加载MVC各模块完美实现

    中午的时候发了第一篇 Extjs4.1.x 框架搭建 采用Application动态按需加载MVC各模块 ,发现实现上还是有问题,有很多理解不到位的地方,晚上详细解决下了,终于实现MVC各模块按需加载了,哈皮。 上篇文章中,关于...

    Extjs4.0MVC动态加载controler,完美破解Demo

    extjs4.0中,不想一次性加载所有的controller,特别是那种tabPanel布局的时候,一个tab的内容对应一个controller的时候。可以通过动态创建controller的方式,还能遵循mvc设计规范。这个例子完美破解,经过测试。 ...

    动态加载extjs tree

    这种方式在处理大量数据时特别有效,因为它避免了一次性加载所有数据可能导致的性能问题和页面加载时间过长的问题。 在ExtJS Tree中实现动态加载,主要涉及以下几个关键概念: 1. **TreeStore**: TreeStore是ExtJS...

    ExtJs实现数据加载和提交经典代码

    根据提供的文件信息,我们可以深入探讨如何在ExtJS中利用FormPanel进行数据加载和提交的核心概念与实践技巧。 ### FormPanel的Form对象 在ExtJS框架中,`FormPanel`是处理表单数据的一个核心组件。当我们在使用`...

    ExtJS 实现动态处理加载 grid 实现了CRUD还有分页功能

    动态加载意味着Grid的数据不是一次性全部加载到页面上,而是根据用户的滚动或分页请求按需加载。这通过使用Store组件的`load`方法和远程代理(如`JsonPStore`或`AjaxStore`)来实现。配置store时,可以设置`...

    extjs4.x tabpanel 动态加载panel和html例子

    动态加载panel和HTML到tabpanel是提高应用性能和用户体验的有效方式,因为它允许按需加载内容,减少初始页面加载时间。下面我们将详细探讨EXTJS 4.x中如何实现这个功能。 首先,我们需要了解EXTJS 4.x的核心概念。...

    ExtJs 实现动态加载grid完整示例

    在ExtJs中,动态加载Grid是一种常见的数据展示方式,它允许用户在需要时按需加载数据,而不是一次性加载大量数据,提高应用性能和用户体验。在本示例中,我们将探讨如何使用Ext3.3实现这一功能。 首先,我们来看...

Global site tag (gtag.js) - Google Analytics