公司用Extjs4做一个项目,请问他的基本设计架构是什么,我将怎么布置各页面的显示。
我想了两个方案:
1.一个主要的页面分为上 左 中三个区域,通过点击左边的树后中间区域进行显示,显示的方式是以动态创建panel并添加到这个区域的
2.一个主要的页面分为上 左 中三个区域,通过点击左边的树后中间区域进行显示,显示的方式是把所有不同的panel写到不同的jsp文件中,然后让中间区域显示这个jsp文件不知道这两种方法哪个好,还有没有更好的方案
我想了两个方案:
1.一个主要的页面分为上 左 中三个区域,通过点击左边的树后中间区域进行显示,显示的方式是以动态创建panel并添加到这个区域的
2.一个主要的页面分为上 左 中三个区域,通过点击左边的树后中间区域进行显示,显示的方式是把所有不同的panel写到不同的jsp文件中,然后让中间区域显示这个jsp文件不知道这两种方法哪个好,还有没有更好的方案
通过点击左树,动态加载js,生成TabPanel到右侧面板
然后可以在点击其他树节点时销毁之前的TabPanel,重新生成与该节点相关的新TabPanel(当然也可以不做这步操作)另:Ext的API文档就是采用这种结构的 LZ可以看下 或许对你有所启发
要OA是OA要档案是档案系统的.
只能化生成系统.
请问在Extjs4中怎么去销毁 之前的TabPanel
个人觉得不用销毁,只需动态控制panel即可
用extjs了 可以参考下mvc模式 和json数据格式
后台不用考虑界面的东西了 只要传输数据就可以了
第二种方法:比较明确,一个tab也对应一个jsp文件,管理起来比较方便,但是需要每个jsp文件都引入extjs库文件
//TreePanel
var store = Ext.create('Ext.data.TreeStore', {
root: {
expanded: true,
text:"",
user:"",
status:"",
children: [
{ text:"detention", expanded: true,
children:[
{ leaf: true,text:'aaa'},
{ leaf: true,text:'bbb'}
]
},
{ text:"homework", expanded: true,
children: [
{ leaf: true,text:'ccc'}
]
},
{ text: "buy lottery tickets", leaf:true }
]
}
}); var txtTreePanel=Ext.create('Ext.tree.Panel', {
height: '100%',
store: store,
rootVisible: false,
listeners : {
itemclick : function(view,re){
alert(re.data.text);
}
}
});//Viewport
Ext.create('Ext.container.Viewport', {
layout: 'border',
renderTo: Ext.getBody(),
items: [{
region: 'north',
html: '<h1 id="nobrDateTimeInfo" style="width:100%;text-align:right;"></h1>',
autoHeight: true,
border: false,
margins: '0 0 5 0',
height:'15%'
}, {
region: 'west',
collapsible: true,
title: 'Navigation',
width: 150,
items:txtTreePanel //树型导航
}, {
region: 'south',
title: 'South Panel',
collapsible: true,
html: 'Information goes here',
split: true,
height: 100,
minHeight: 100
}, {
region: 'east',
title: 'East Panel',
collapsible: true,
split: true,
width: 150
}, {
region: 'center',
xtype: 'tabpanel', // TabPanel itself has no title
activeTab: 0, // First tab active by default
items: {
title: 'Default Tab',
html: 'The first tab\'s content. Others may be added dynamically'
}
}]
});});