一下是树的实现代码:
var mytree=new Ext.tree.TreePanel({
animate:true,// 以动画形式伸展,收缩子节点
enableDD: true,
ddGroup:'mygroup',
rootVisible:true,// 是否显示根节点
autoScroll:true,
bodyStyle: 'background-color: #dfe8f6;',
height:300,
width:180,
renderTo : 'treePanel',
lines:true,// 节点之间连接的横竖线
dataUrl:getWebRoot()+"/jsp/splitScreen/getAppuserStations.faces",
root:{
nodeType: 'async',
draggable: false,
expand:true,
id:"root",
text:"台站功能"
}
});
以下是panel布局的实现代码:
var tablePanel = new Ext.Panel({
id: 'splitScreenPanel',
border: false,
renderTo:'tablePanel',
layout: {
type: 'vbox',
align: 'stretch'
},
defaults: {
bodyStyle: 'background-color: #dfe8f6;'
},
frame:true,
height:300,
width:300,
items: [{
flex:0.3,
layout: {
type: 'hbox',
align: 'stretch'
},
defaults: {
frame:true
},
items:[myForm]
},{
flex: 1,
layout: {
type: 'hbox',
align: 'stretch'
},
margins: '0 0 5 0',
defaults: {
ddGroup: 'mygroup',
tools:getTools,
listeners: {
render:renderHander
},
frame:true
},
items: [{
id: 'Screen1',
title: '一',
flex: 1,
margins: '0 5 0 0',
html : "<div id='div1'></div>"
}, {
id: 'Screen2',
title: '二',
flex: 1,
html : "<div id='div2'></div>"
}]
}]
});
if(splitNum==4){
tablePanel.add({
flex: 1,
layout: {
type: 'hbox',
align: 'stretch'
},
defaults: {
ddGroup: 'mygroup',
tools:getTools,
listeners: {
render:renderHander
},
frame:true
},
items: [{
id: 'Screen4',
title: '三',
flex: 1,
margins: '0 5 2 0',
html : "<div id='div4'></div>"
}, {
id: 'Screen5',
title: '四',
flex: 1,
margins: '0 0 2 0',
html : "<div id='div5'></div>"
}]
});
}else{
tablePanel.add({
flex: 1,
layout: {
type: 'hbox',
align: 'stretch'
},
defaults: {
ddGroup: 'mygroup',
tools:getTools,
listeners: {
render:renderHander
},
frame:true
},
items: [{
id: 'Screen3',
title: '三',
flex: 1,
margins: '0 0 2 0',
html : "<div id='div3'></div>"
}]
});
}
tablePanel.doLayout();
动态实现了分几块。
分屏上的按钮:
var getTools= [{
id: 'search',
qtip: '编辑',
handler: function(event, toolEl, panel) {
searchConditionWin.show();
}
},{ id: 'close',
qtip: '删除',
handler: function(event, toolEl, panel) {
getDefault(panel.id);
}
}
];
拖动处理函数:
var renderHander = function(cmp) {
new Ext.dd.DropTarget(cmp.body.dom, {
ddGroup: 'mygroup',
notifyDrop: function(ddSource, e, data) {
if (!data.node.hasChildNodes()) {
cmp.setTitle(data.node.parentNode.attributes.text);
}
return true;
}
});
};
主要实现就是把要拖动的东西放到一个组里,然后加上一个拖动处理函数
- 大小: 14 KB
- 大小: 16.5 KB
分享到:
相关推荐
在本篇文章中,我们将详细了解如何使用ExtJS框架实现具有下拉树功能的下拉菜单效果。ExtJS是一个成熟的JavaScript框架,用于创建交互式的Web应用程序,提供了一整套丰富的用户界面组件,其下拉树组件是其众多组件之...
在"ExtJs树例子"这个主题中,我们主要关注的是ExtJS如何实现树形控件(Tree Panel)。 树形控件在Web应用中广泛用于展示层次结构的数据,比如文件系统、组织架构或菜单导航。ExtJS提供了一个完善的TreePanel组件来...
menuTree:new Ext.tree.TreePanel({ title:'功能菜单', region:'west', bodyStyle:'background:transparent url(images/default/panel/group-lr.gif) repeat-x 0 bottom;', id:'extExample-tree', autoScroll:true, ...
在ExtJS中,树形结构是通过`Ext.tree.Panel`或`Ext.tree.View`来实现的,它们提供了丰富的配置选项和事件处理。 1. **创建树结构**:在ExtJS中,树的数据源通常是一个JSON对象或Store,其中包含了节点的信息,如ID...
在ExtJS中,树形组件(TreePanel)是一种用于展示层次结构数据的控件,而拖拽功能则可以通过Ext.dd.DD或Ext.dd.DDProxy类来实现。 1. **创建拖拽树** - 初始化树:首先,我们需要创建一个TreePanel实例,设置其...
3. **创建TreePanel**:创建一个`Ext.tree.Panel`,设置`store`属性为刚才创建的`TreeStore`,并定义其他必要配置,如列显示、可拖拽等。例如: ```javascript var treePanel = Ext.create('Ext.tree.Panel', { ...
- 布局管理是ExtJS中一个重要特性,用于控制组件的排列方式。 - **常见布局类型**: - **Border区域布局**: 将容器划分为多个区域(顶部、底部、左侧、右侧和中心)。 - **Column列布局**: 按列排列组件。 - **...
1. **布局类**:包括容器布局(Container Layout)、绝对定位布局(Absolute Layout)、手风琴布局(Accordion)、锚点布局(Anchor Layout)、边框布局(Border Layout)、卡片布局(Card Layout)、列布局(Column Layout)、...
**BorderLayout** 是ExtJS中的一个布局管理器,它将容器划分为五个部分:北、南、东、西和中心区域。每个区域都可以包含一个组件。例如,在文件中提到了 `layout: 'accordion'`,这是在 **West** 区域使用的一种特殊...
接下来将详细介绍文档中提到的几个核心概念,包括`Ext.MessageBox`、`Ext.Panel`、`Ext.Window`、`Ext.FormPanel`、`Ext.TabPanel`、`Ext.XTemplate`和`Ext.TreePanel`以及如何在Extjs中实现主题(换肤)功能。...
### Extjs xtype集合详解 #### 一、基本概念与背景 在Extjs开发过程中,`xtype`(扩展类型)是极为重要的一个概念。它实际上是一种类型标识符,用于快速创建特定类型的组件实例。通过使用预定义的`xtype`值,...
4. **布局管理**:EXTJS拥有多种布局方式,如Fit布局、Border布局、Table布局等,可以根据需要灵活设置容器的布局模式。 5. **强大的表格功能**:EXTJS的Grid组件支持分页、排序、过滤、拖放等功能,可以处理大量...
### 使用ExtJS实现动态树型结构 #### 一、引言 在Web应用开发中,树形结构(Tree)是一种非常常见的数据展示形式,尤其是在文件管理系统、目录浏览等场景下。ExtJS作为一款功能强大的JavaScript库,提供了丰富的UI...
ExtJS 是一个强大的JavaScript应用程序框架,它提供了丰富的用户界面组件,用于构建富客户端应用。`xtype` 是ExtJS中的一个重要概念,它是组件类的简写形式,用于在配置对象中声明组件类型,使得代码更加简洁。理解...
在ExtJs框架中,`xtype`是一种用于标识组件类型的字符串,它定义了组件的类。这个特性使得在创建UI时能够简洁地指定组件的类型,而无需直接实例化具体的类。以下是一些主要的`xtype`及其对应的组件类和功能的详细...
### ExtJS控件详解 #### 基本组件 **Ext.Button** - **描述**: 提供了一种标准的用户交互方式,通常用于触发特定事件或功能。 - **用途**: 创建按钮,可以设置图标、文本、工具提示等。 **Ext.SplitButton** - **...
5. **Panel** - 布局容器,可以包含其他组件,提供标题、工具栏、滚动条等特性。 ExtJS也是一套强大的前端框架,其组件包括: 1. **Window** - 弹出窗口,类似Dialog,但功能更加强大,支持拖拽、最大化等操作。 2...
这些事件可以通过绑定到 `TreePanel` 实例上进行监听和处理。 ##### 5.3 树加载器 `TreeLoader` 树加载器负责加载树结构的数据。它可以是同步加载或异步加载。在上面的示例中,`TreeLoader` 从 `data.json` 文件...