`
牧羊人
  • 浏览: 215502 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

EXT 一个panel与tree结合读数据库json格式的例子

阅读更多
var Tree = Ext.tree;
Ext.onReady(function(){
var vport=new Ext.Viewport(
      {
       enableTabScroll:true,
       layout:"border",
       items:[
        {
         title:"导航菜单",
         region:'west',
         id:'ma',
         width:200,
         collapsible:true,
         layoutConfig:{animate:false},
         layout:'accordion',
         frame:true,//设置导航条样式(圆角)和内部元素padding
        bbar: [
        ]
},
tab
       ]
      }     
     );

//使用ajax绑定目录树
Ext.Ajax.request({ 
    url:'manageMenu.asp',
    params:{'MMF':0}, 
    success: function(resp,opts) { 
			var respText=Ext.util.JSON.decode(resp.responseText); 
			for(var i=0;i<respText.length;i++){ 
				var id = respText[i].id; 
				var tree=new Ext.tree.TreePanel({
							rootVisible:false,
							border:false,
							root:new Tree.AsyncTreeNode({id:'root_'+id,disable:true}),
							loader:new Ext.tree.TreeLoader({dataUrl :'manageMenu.asp?mmf='+id+'&p='+Math.random()})
							
				})
			
				var tmp = new Ext.Panel({ 
					id:"pannel_"+id, 
					title:respText[i].text, 
					iconCls:respText[i].iconCls, 
					//layout:'accordion',
					autoWidth:true,
					//html:'<div id="tree_'+id+'" style="overflow:auto;width:100%;height:100%"></div>',
					items:[tree] 
				}); 
			Ext.getCmp('ma').add(tmp);
			Ext.getCmp('ma').doLayout();
			tree.on('click',treeClick);
			tree.expandAll();
			}

            
    }, 
    failure: function(resp,opts) { 
            var respText = Ext.util.JSON.decode(resp.responseText); 
            Ext.Msg.alert('错误', respText.error); 
   } 
})
});  

function treeClick(node,e) {
	 if(node.isLeaf()){
		e.stopEvent();
		var n = tab.getComponent(node.id);
		if (!n) {
			var n = tab.add({
				'id' : node.id,
				'title' : node.text,
				closable:true,
				iconCls:"plugins-nav-icon",
				html : '<iframe scrolling="auto" frameborder="0" width="100%" height="100%" src="'+node.attributes.href+'" mce_src="'+node.attributes.href+'"></iframe>'
				});
		}
		tab.setActiveTab(n);
	 }
}

var tab = new Ext.TabPanel({
         xtype:'tabpanel',
         deferredRender:false,
         region:'center',
         activeTab:0,
		 enableTabScroll:true,
         items:[
           {iconCls:"toc-icon",title:'后台首页',closable:true,autoScroll:true,html : '<iframe scrolling="auto" frameborder="0" width="100%" height="100%" src="main.asp" mce_src="main.asp"></iframe>'},
           {iconCls:"plugins-nav-icon",title:'普通面板',closable:true,autoScroll:true}
            ]
	
});
  
  • 大小: 147.6 KB
分享到:
评论

相关推荐

    ExtJS4+Accordion+SERVLET/STRUTS2+JSON+Ext.tree.Panel实例

    这个实例结合了多个技术,包括Accordion布局、Servlet、Struts2以及JSON数据交互,以及Ext.tree.Panel组件,以创建一个功能丰富的用户界面。 Accordion布局是ExtJS中的一个布局管理器,它允许在一个区域内组织多个...

    Ext tree json 动态加载完美实例

    在本文中,我们将深入探讨如何使用Ext JS的Tree Panel与JSON数据进行动态加载,并实现多选和单选功能。Ext JS是一种强大的JavaScript库,用于构建富客户端应用,而Tree Panel则是展示层次结构数据的一种组件。在后台...

    Ext4+JSON+Servlet+Tree构建Web应用框架

    这个框架的核心组件包括Ext4 JavaScript库、JSON数据交换格式、Servlet或Struts2作为后端控制器以及Ext JS中的两种UI组件:Tree Panel和Tab Panel。以下将详细介绍这些技术及其在Web应用中的作用。 1. Ext4:Ext JS...

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

    在这个例子中,`TreePanel`使用`TreeStore`从`tree_data.json`加载数据,并且隐藏了根节点。 标签“源码”和“工具”暗示了这篇博客可能还讨论了EXTJS的源代码以及如何使用EXTJS作为开发工具来实现动态加载功能。...

    Ext.Tree.Panel

    `Ext.Tree.Panel`是EXT JS库中的一个重要组件,用于展示层次结构的数据,通常用作树形菜单或文件系统目录的视图。这个组件是EXT JS框架中用于创建交互式、可扩展的树结构的工具。以下是对`Ext.Tree.Panel`相关知识的...

    ext TREE

    Tree组件是EXT JS中的一个重要部分,它允许开发者创建可交互的树形结构,通常用于展示层次关系的数据,如文件系统、组织结构或数据库层次结构。 【描述】虽然描述中提到的是"NULL",但我们可以根据EXT JS Tree组件...

    ext 树控件+数据库

    在IT领域,EXT是一个流行的JavaScript库,用于构建富客户端应用程序,尤其在Web应用开发中广泛应用。EXT树控件是EXT库中的一个重要组件,它允许开发者创建可交互的、层次结构的视图,常用于展现数据的层级关系,如...

    Extjs的Tree和Tab使用json做tree数据交互

    在这个例子中,我们首先创建了一个Tree,并监听了`itemclick`事件。当用户点击树节点时,我们检查TabPanel是否已有对应节点的Tab。如果没有,就创建一个新的Tab,其标题和内容与被点击的树节点相关联。然后,我们...

    Ext 中的Tree实现不同节点不同的右键菜单

    `Ext.data.TreeStore`是一个很好的工具,它可以处理JSON数据,用于构建Tree的层级结构。 总结来说,实现`Ext JS` Tree组件中不同节点的个性化右键菜单,关键在于监听`itemcontextmenu`事件,创建自定义的菜单并根据...

    ext tree 分页

    在EXT JS框架中,"ext tree 分页"是一种优化技术,用于处理大量数据时避免页面卡顿的问题。在EXT JS的树形组件(TreePanel)中,如果一次性加载所有节点,特别是当树结构非常深或者节点数量巨大时,不仅会消耗大量...

    生成JSON树型表结构

    总的来说,生成JSON树型表结构是将层级数据转换为易于EXT树组件解析的格式,通过合理的数据库查询和后端处理,结合前端EXT框架,可以实现高效且美观的树形数据展示。这个过程涉及到数据结构、JSON序列化、前端UI组件...

    Ext 带多选的Tree

    在EXT JS这个强大的JavaScript库中,Tree组件是一个用于展示层级数据的重要工具。"Ext 带多选的Tree"指的是在EXT JS的Tree组件中集成了多选功能,允许用户通过复选框来选择多个树节点,从而实现批量操作或者进行多级...

    Ext树例子

    总结来说,`Ext树例子`是关于如何使用ExtJS库中的`Ext.tree.Panel`组件来展示和操作层次化数据的一个主题。`tree1.txt`和`tree2.txt`文件提供了创建树的数据源,通过解析这些文件,我们可以构建出具有实际数据的交互...

    DWR方式动态加载EXT.Tree

    这个方法可以接受必要的参数,例如查询条件,然后从数据库或其他数据源中检索数据并转换为JSON格式。JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和生成,...

    多年积攒下来的EXT3.3例子大放送

    这个压缩包文件"多年积攒下来的EXT3.3例子大放送"显然包含了一系列EXTJS的示例代码,帮助开发者深入理解和应用EXTJS控件,以及如何进行后台数据的交互和报表展示。下面将详细探讨EXTJS、EXT3.3版本的关键特性,以及...

    在VS下利用Ext4.2的TreePanel的简单demo

    本文将深入探讨如何基于Ext4.2版本实现一个简单的TreePanel demo,结合数据库进行后台的数据操作,包括增、删、改、查功能。这对于初学者来说是一个很好的起点,能够帮助理解如何将前端UI与后端数据服务相结合。 ...

    tree/ext/struct 的一切部署

    在这个场景下,我们将讨论如何将EXTJS的Tree组件与Java的Structs概念结合,以创建一个美观且功能强大的导航界面。 EXTJS的Tree组件允许开发者通过JSON或XML数据源动态加载树节点。每个节点可以包含子节点,形成层级...

    EXT构造动态树 包括增删改操作

    - 首先,创建一个`Ext.tree.Panel`实例,设置基本配置,如`title`,`store`,以及`rootVisible`等。 - 然后,定义一个`Ext.data.TreeStore`,这是EXT中用于存储和管理树数据的类。你需要提供一个`proxy`来连接到...

    简单的EXT加载数据的例子

    在这个例子中,“简单的EXT加载数据的例子”可能是指如何动态地从服务器获取数据并加载到Treepanel中。 1. **创建Treepanel** 创建Treepanel时,我们需要指定一些基本配置,如ID、标题、宽度、高度等。此外,还...

    ext 异步加载树完整版

    在这个场景下,"异步加载树"是指树形组件(Tree Panel)不一次性加载所有节点,而是根据用户滚动或展开节点时按需加载数据,从而提高页面性能。 EXT JS的Tree Panel允许开发者配置异步加载数据源,通常通过Ajax请求...

Global site tag (gtag.js) - Google Analytics