tree的定义:
var tree = new Tree.TreePanel({
el:'tree-div',
title:"Test Tree",
enableDD:true,
width:200,
height:420,
containerScroll: true,
loader: new Ext.tree.TreeLoader({dataUrl:'ExtTreeServlet'})
});
tabpanel的定义:
new Ext.TabPanel({
id:'tabs',
region:'center',
deferredRender:false,
activeTab:0,
tabPosition:'top',
items:[{
id:'tab1',
contentEl:'center1',
title: 'Close Me',
closable:true,
autoScroll:true
},{
id:'tab2',
contentEl:'center2',
title: 'Center Panel',
autoScroll:true,
autoLoad:'LoadTabContent'
}]
})
ExtTreeServlet.java中的代码:
String result = "[{id:'1',text:'01',children:[" +
"{text:'01-01',leaf:true}," +
"{text:'01-02',children:[" +
"{text:'01-02-01',leaf:true}," +
"{text:'01-02-02',leaf:true}"+
"]}," +
"{text:'01-03',leaf:true}]}," +
"{text:'02',leaf:true},{text:'04',leaf:true}]";
tree的click事件:
tree.on('click',test);
function test(node,e){
node.select();
var selectedNode = tree.getSelectionModel().getSelectedNode();
//得到tab对象的两种方式:
//var tab = Ext.getCmp('tab2');
var tabs = Ext.getCmp('tabs');
var tab = tabs.getItem('tab2');
//改变tab内容的第一种方式
tab.getUpdater().update('LoadTabContent?aa=' + selectedNode.id);
//改变tab内容的第二种方式
//tab.load({
// url: 'LoadTabContent?aa=' + selectedNode.id,
// nocache: true,
// scope: this,
// scripts: true
// });
tab.setTitle("Modify");
tab.show();
}
先点击tree,激活tab时加载数据的方式:
tab.addListener('activate',function (){test1(this)});
function test1(obj){
var tree=Ext.getCmp('tree');var selectedNode = tree.getSelectionModel().getSelectedNode();
obj.load({
url: 'LoadTabContent?action=loadVersionContent&aa=' + selectedNode.id,
nocache: true,
scope: this,
scripts: true
});
获取tab的内容和客户端修改tab的内容
var tabs = Ext.getCmp('tabs');
var tab = tabs.getItem('tab1');
tab.body.dom.innerHTML='<textarea style="width:100%;height:100%">' + tab.body.dom.innerHTML+ '</textarea>';
分享到:
相关推荐
以下是一个简单的示例,展示了如何在点击Tree节点时切换或创建新的Tab: ```javascript var tree = Ext.create('Ext.tree.Panel', { store: treeStore, // 使用之前定义的JSON数据的store renderTo: Ext.getBody...
目录: 1. layout-test-01.html为上下布局,并且显示区采用iframe的例子。详细见代码。 ...详细见代码。 ...即:Ext.window 4.mainPage.html为tab布局,右面为tree中间为tab页面。...8.tree-tz-test.html为tree节点拖拽的练习
在构建Web应用框架时,"Ext4+JSON+Servlet+Struts2+Ext.tree.Panel+Ext.tab.Panel"的组合提供了一种高效且功能丰富的解决方案。这个框架的核心组件包括Ext4 JavaScript库、JSON数据交换格式、Servlet或Struts2作为...
目录: 1. layout-test-01.html为上下布局,并且显示区采用iframe的例子。详细见代码。 ...详细见代码。 ...即:Ext.window 4.mainPage.html为tab布局,右面为tree中间为tab页面。...8.tree-tz-test.html为tree节点拖拽的练习
- **节点点击监听**:使用`onTreeNodeClick`方法对节点点击事件进行响应。 - **面板扩展/折叠监听**:通过`onExpandPanel`和`onCollapsePanel`方法分别处理面板的展开和折叠事件。 ### 示例代码分析 给定的部分...
在这个场景下,我们需要监听TreePanel 的`itemclick`事件,当用户点击一个节点时,捕获该事件并执行相应的操作,比如根据节点的`href`加载新的Tab。 6. **页面布局**:整个页面可能使用了ExtJS 的布局管理器,如`...
4. **Tree**:EXT的树形组件用于展示层次结构的数据,支持动态加载、拖放操作和节点的展开/折叠。 5. **Tab Panel**:通过Tab Panel,可以创建带有多个标签页的应用界面,每个标签页可以包含不同的组件或面板。 6....
例如,一个TabPanel可以用于项目管理,其中每个Tab代表一个项目,而TreePanel则展示该项目的子任务和资源。 在实现过程中,我们可能需要监听TreePanel的事件,如'itemclick'、'beforeexpandnode'等,以响应用户的...
7.5.11 树节点:ext.data.nodeinterface与ext.data.tree / 364 7.5.12 store的方法 / 366 7.5.13 store的事件 / 368 7.5.14 store管理器:ext.data.storemanager / 369 7.6 综合实例 / 369 7.6.1 远程读取json...
4. Tree Panel:提供树形结构展示数据,支持拖放操作和节点展开收缩。 5. Tab Panel:包含多个Tab标签页的组件,方便在不同视图间切换。 三、布局系统 Ext 3.0引入了多种布局方式,如Fit布局、Border布局、Table...
或者对Tree Panel的节点操作进行了优化,提升用户体验。 总的来说,这个EXT版的DRP分销系统界面原型是学习EXT框架和理解DRP系统设计思路的良好实例。通过研究这个原型,开发者不仅可以深入理解EXT的组件和API,还能...
- `selectOnTab`:当按下Tab键时,是否选择当前焦点的节点。 - `firstSelected`:默认是否选中第一个节点。 - `maxPickerWidth` 和 `maxPickerHeight`:限制下拉树的最大宽度和高度。 - `minPickerHeight`:设置...
- **其它新组件**:EXT2 还新增了许多其他组件,如 Tree、FormPanel 等,丰富了 UI 组件库。 通过以上知识点的详细介绍,读者可以对 EXT 有一个全面的了解,为后续深入学习和实际项目开发打下坚实的基础。
具体来说,在Extjs4.1版本中,涉及到的主要知识点包括Ext.tree.Panel(用于展示树形结构),Ext.tab.Panel(用于展示Tab页)以及Ext店铺中组件的扩展和事件绑定。 首先,让我们深入了解如何定义左侧的功能树。功能...
创建树形结构使用了`Ext.tree.Panel`,并配置了`rootVisible : false`来隐藏根节点,以及`border : false`去除边框。数据源来自`Ext.data.TreeStore`,它的根节点是动态加载的,数据来自于服务器响应。`'itemclick'`...
根据提供的文件信息,“[深入浅出Ext.JS.徐会生&何启伟&康爱媛)第7——13章.pdf”,我们可以推测这是一本关于Ext JS框架的专业书籍的一部分,作者为徐会生、何启伟和康爱媛。由于实际的内容并未给出具体章节的信息,...
- **其它新组件**:除了以上提到的组件外,EXT2还增加了一些其他新组件,如Tree、FormPanel等。 通过上述知识点的梳理,我们不仅了解了EXT的基本用法,还深入探索了EXT的高级特性和组件开发技巧。无论是对于初学者...
构建一棵静态的树通常需要预先定义好树的数据结构,然后通过 `Ext.tree.TreePanel` 的配置选项来展示。 **9.3 构建动态的树** 构建动态的树则需要在运行时通过 AJAX 调用等方式动态加载子节点。这通常涉及到使用 `...
-优化Tree节点的NodeId自动生成,减少ViewState占用。 +2009-08-09 v2.0 beta5 +ExtAspNet和Asp.net的提交按钮兼容问题(feedback:千帆)。 -在2009-03-03 v1.3.0曾经提到这个兼容问题,并有这样的规则,如果...
5.4 Ext.tab.Panel页签 5.5 本章小结 第6章 常用工具类与函数 6.1 非常有用的Ext.core.Element 6.2 Ext常用函数 6.2.1 Ext.onReady() 6.2.2 Ext.get() 6.2.3 Ext.select() 6.2.4 Ext.query() ...