- 浏览: 1488480 次
- 性别:
- 来自: 大连
文章分类
- 全部博客 (460)
- java (148)
- javascript (34)
- Flex文章 (4)
- css+div (2)
- ajax (6)
- extjs (11)
- 人生感悟 (9)
- struts2.0 (6)
- IT之路,生活 (15)
- hibernate (6)
- struts1 (1)
- spring (5)
- j2ee错误 (3)
- Dwr (5)
- Linux (33)
- C++ (3)
- SWT Win32 (2)
- EJB (1)
- JPA (4)
- C语言和LinuxC (7)
- SQL (13)
- 项目经理 (6)
- db2 (2)
- java数据结构 (2)
- 网页播放器flv (1)
- 数据库 (24)
- 用户体验设计学习 (2)
- 网络电话 (5)
- 军事理论 (4)
- android (3)
- oracle (18)
- oracle ebs form (11)
- oracle ebs oaf (4)
- erp (20)
- DBA (9)
- java中URL 的编码和解码函数 (1)
- 铁血丹心 (1)
- excel 单元格格式不能立即生效 (1)
- Java调用bat文件 (1)
- 如何把本地outlook中的邮件上传到网络邮箱中 (1)
- java 报表 打印 (1)
- 创建dblink (1)
- 图标前台框架 (1)
- vnc (1)
- FORM (1)
- MYSQL (1)
最新评论
-
July01:
推荐用StratoIO打印控件,支持网页、URL、图片、PD、 ...
web打印不显示页眉页脚 -
July01:
推荐用StratoIO打印控件,浏览器和系统的兼容性都很好,而 ...
Javascript网页打印大全 -
hardyer:
大哥写的很实在,受教了,提前祝你元旦快乐!
黎活明给程序员的忠告 -
cxysilahi:
请问WIN7 64位,调用报错Exception in thr ...
JNative的初步使用 -
action1949:
好东西,解决问题
JFreeChart乱码解决方法
吸纳百川为我所用。
1.ext_viewport.jsp
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="ww" uri="/webwork" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Ext viewport 要在服务器下测试</title>
<link rel="stylesheet" type="text/css" href="../ext-2.2.1/resources/css/ext-all.css" />
<!-- GC -->
<!-- LIBS -->
<script type="text/javascript" src="../ext-2.2.1/adapter/ext/ext-base.js"></script>
<!-- ENDLIBS -->
<script type="text/javascript" src="../ext-2.2.1/ext-all.js"></script>
<!-- Common Styles for the examples -->
<!-- Custom CSS and Libs -->
<link rel="stylesheet" type="text/css" href="extcss/main.css"/>
<script type="text/javascript">
Ext.BLANK_IMAGE_URL = 'img/s.gif';
</script>
<style>
#actions li {
margin:.3em;
}
#actions li a {
color:#666688;
text-decoration:none;
}
.nav{
background:url(img/user.gif) no-repeat scroll left top;
}
</style>
</head>
<body>
<div id="loading-mask" style=""></div>
<div id="loading">
<div class="loading-indicator"><img src="img/extanim32.gif" width="32" height="32" style="margin-right:8px;" align="absmiddle"/>Loading...</div>
</div>
<script type="text/javascript" src="extjs/ext_viewport.js"></script>
<ul id="actions" class="x-hidden">
<li>
<a id="use" href="#">Use Existing Tab</a>
</li>
<li>
<a id="create" href="#">Create New Tab</a>
</li>
</ul>
<div id="west"></div>
<div id="north"></div>
<div id="south">
<div style="float:left;margin:5px;font:normal 12px tahoma, arial, sans-serif,宋体;">
Power By: erick
</div>
<div style="float:right;margin:5px;font:normal 12px tahoma, arial, sans-serif,宋体;"> 版本号V1.0Beta </div>
</div>
<div id="tabs"></div>
</body>
</html>
2.ext_viewport.js
Ext.onReady(function(){
Ext.QuickTips.init();//没查什么意思
//Ext.BLANK_IMAGE_URL = 'scripts/ext/resources/images/vista/s.gif';
// 包含actions的菜单
var tabActions = new Ext.Panel({
frame:true,
title: 'Actions',
collapsible:true,
contentEl:'actions',
titleCollapse: true
});
// 保持actions菜单的父面板
var actionPanel = new Ext.Panel({
id:'west-panel',
region:'west',
split:true,
collapsible: true,
// collapseMode: 'mini',
width:200,
//minWidth: 150,
minSize: 175,
maxSize: 400,
margins:'0 5 0 0',
border: true,
layout:'accordion',//加了以后 菜单的border就占满了west region,样式,默认总有一个菜单总打开
title:'system menu',
layoutConfig:{
animate:true
},//没看出变化
//baseCls:'x-plain',//一个样式
//items: [tabActions]
items: [
{
title:'系统管理',
border:false,//下面的tree里border:true;
html:'<div id="tree-div" style="overflow:auto;width:100%;height:100%;border:0px solid #c3daf9"></div>',
iconCls:'nav'//定义按钮等的图标的样式
},{
title:'System',
border:false,
//iconCls:'settings',
html:'<div id="tree" style="overflow:auto;width:100%;height:100%"></div>'
},{
title:'Sygetm',
border:false,
//iconCls:'settings',
html:'<div id="tree3" style="overflow:auto;width:100%;height:100%"></div>'
}]
});
// 主面板(已有tab)
var tabPanel = new Ext.TabPanel({
region:'center',
deferredRender:false,
autoScroll: true,
margins:'0 4 0 0', //up left down right
resizeTabs:true, // turn on tab resizing
minTabWidth: 85,
tabWidth:95,
enableTabScroll:true,//挤的时候能够滚动收缩
activeTab:0,
//autoHeight:true,
items:[{ //here is a define tab names "main",others will be add throught the tree click event
id:'tab1',
contentEl:'tabs',
title: 'Main',
html:"<div id='welcome' style='margin:40px;font-size:16px;color:#15428B;text-align:center'><h2><img src='img/extanim32.gif' width='32' height='32' style='margin-right:8px;' align='absmiddle'/>Welcome to IT Dept</h2></div>",
closable:true,
autoScroll:true
}],
//下面是新增的关閉右键菜单代码
listeners:{
//传进去的三个参数分别为:这个tabpanel(tabsDemo),当前标签页,事件对象e
"contextmenu":function(tdemo,myitem,e){
var menu=new Ext.menu.Menu([{
text:"关闭当前页",
handler:function(){
tdemo.remove(myitem);
}
},{
text:"关闭其他所有页",
handler:function(){
//循环遍历
tdemo.items.each(function(item){
if(item.closable&&item!=myitem)
{
//可以关闭的其他所有标签页全部关掉
tdemo.remove(item);
}
});
}
},{
text:"新建标签页",
handler:addTab
}]);
//显示在当前位置
menu.showAt(e.getPoint());
}
}
});
// 配置视图viewport
viewport = new Ext.Viewport({
layout:'border',
items:[
new Ext.BoxComponent({
region:'north',
el: 'north',
height:30
}),new Ext.BoxComponent({
region:'south',
el: 'south',
height:55
}),
actionPanel,tabPanel]});
// 在中间的面板加入tab
function addTab(tabTitle, targetUrl){
tabPanel.add({
title: tabTitle,
iconCls: 'tabs',
autoLoad: {url: targetUrl, callback: this.initSearch, scope: this},
closable:true
}).show();
}
// 更新tab内容,如不存在就新建一个
function updateTab(tabId,title, url) {
var tab = tabPanel.getItem(tabId);
if(tab){
tab.getUpdater().update(url);
tab.setTitle(title);
}else{
tab = addTab(title,url);
}
tabPanel.setActiveTab(tab);
}
// 映射连接的id到函数
var count = 0;
var actions = {
'create' : function(){
addTab("New Tab",'sample0.html');
},
'use' : function(){
// 演示页之间的轮换
updateTab('tab1','替换' + count + ' 次','sample'+(count%2)+'.html');
count++;
}
};
function doAction(e, t){
e.stopEvent();
actions[t.id]();
}
// body初始化后,viewport setup过后才能执行下面的代码
//actionPanel.body.on('mousedown', doAction, null, {delegate:'a'}); //改为tree.on('click',treeClick);
//my tree define ----tree1-------
var Tree = Ext.tree;
//要在服务器下测试
//定义根节点的Loader
var treeloader=new Tree.TreeLoader({
baseParams:{fid:'0'},//default post a parameter fid to action
dataUrl:'../extmenu.action' //指定的URL
//dataUrl:'extMenusubmit.jsp'
});
//根节点
//var root=new Ext.tree.TreeNode({
//TreeNode常用配置参数
//1.checked:false//true则在text前有个选中的复选框,false则text前有个未选中的复选框,默认没有任何框框
//2.expanded:fasle//展开,默认不展开
//3.href:"http:/www.cnblogs.com"//节点的链接地址
//4.hrefTarget:"mainFrame"//打开节点链接地址默认为blank,可以设置为iframe名称id,则在iframe中打开
//5.leaf:true//叶子节点,看情况设置
//6.qtip:"提示"//提示信息,不过要 Ext.QuickTips.init();下
//7.text:"节点文本"//节点文本
//8.singleClickExpand:true//用单击文本展开,默认为双击
//isteners:{//监听
//"click":function(node,e){
// alert(node.text)
// }
// }
//id:"root",
//text:"控制面板",
//expanded:true
//});
//异步加载根节点
var root=new Tree.AsyncTreeNode({
id:'0',
text:'root'
});
//var tree = new Tree.TreePanel('tree',{//ext 1.0
var tree = new Tree.TreePanel({
//renderTo:"tree_div",
//如果使用renderTo,则不能使用setRootNode()方法,需要在TreePanel中设置root属性。
el:'tree-div',//ext 2.0
//el:'west',
//root:root, //填充区域
rootVisible:false, //隐藏根节点
border:true, //边框
animate:true, //动画效果
autoScroll:true, //自动滚动
enableDD:true, //节点是否可以拖拽
containerScroll:true,
//lines:true,//节点间的虚线条
useArrows:true,//小箭头
//root:rotnode, //两种设置root节点的方法,
//一种配置root,另一种就是setRootNode
loader:treeloader
});
//设置根节点
tree.setRootNode(root);
//响应事件,传递node参数
tree.render();
// root.expand(false,true); //展开一级树,第二级后不展开
root.expand();
treeloader.on('beforeload',function(treeLoader,node){
this.baseParams.fid=node.attributes.id;//传参数
//Ext.Msg.alert('msg',this.baseParams.fid);
},treeloader);
tree.on('click',treeClick);//tree leaf click event
//tree1 end----------------------------------
//tree2 start------------------------------------
var root2=new Ext.tree.TreeNode({
id:"root2",
text:"tree root"
});
var c1=new Ext.tree.TreeNode({
id:'c1',
icon:'img/im2.gif',
text:'infomation1'
});
var c2=new Ext.tree.TreeNode({
id:'c2',
icon:'img/im2.gif',
//text:'<a href=\'1.jsp\' target=\'_self\'>infomation2</a>'
text:'information2',
leaf:true
});
var c22=new Ext.tree.TreeNode({
id:'c22',
icon:'img/im2.gif',
text:'infomation3',
href:'1.jsp'
});
var c3=new Ext.tree.TreeNode({
id:'c3',
icon:'img/im2.gif',
text:'infomation4'
});
var c4=new Ext.tree.TreeNode({
id:'c4',
icon:'img/im2.gif',
text:'infomation5',
href:'output\/Ext.WindowGroup.html'
});
var c5=new Ext.tree.TreeNode({
id:'c5',
text:'infomation'
});
c1.appendChild(c2);
c1.appendChild(c22);
root2.appendChild(c1);
root2.appendChild(c3);
root2.appendChild(c4);
//root3.appendChild(c5);
var tree2=new Ext.tree.TreePanel({
renderTo:"tree",
root:root2,
animate:true,
enableDD:false,
border:false,
rootVisible:false,
containerScroll: true
});
tree2.on('click',treeClick);//没有效果,it seams the link should be add to the tree options directly by href property,i know why ,maybe the isleaf property is undefine
//tree2 end-------------------------------------------------------------------------
//set tree click events
function treeClick(node,e) {
//var Tree = Ext.tree;
if(node.isLeaf()){
e.stopEvent();
//Ext.Msg.alert("msgkkk",node.id);
//Ext.Msg.alert('mmm',node.ui.getAnchor());
var n = tabPanel.getComponent(node.id);
if (!n) {
var n = tabPanel.add({
'id' : node.id,
'title' : node.text,
closable:true,
autoScroll:true,
//autoLoad:"2.jsp"
//html: '<iframe src="'+node.ui.getAnchor()+'" width="100%" height="100%" border="0"/>'
//只是不需要再载入ext的东西,其它代码结构完全相同,也是采用Ext.onReady方式,原因是<script>块中, 不能加入<!-- //--> 这一符号。否则Ext不能运行该页的javascript
//autoLoad:{url:'inventory_list.jsp',callback:this.initSearch,scope:this,script:true}//params: {TabId: tabIndex}
//autoLoad:{url:'../Inventory/ext_inventory_list.jsp',scripts:true,nocache: true}//leaf tree's id value must be a string not integer,otherwise "this.id.indexOf is not a function" errors will be happened
autoLoad:{url:'../Inventory/ext_stock_list.jsp',scripts:true,nocache: true}//leaf tree's id value must be a string not integer,otherwise "this.id.indexOf is not a function" errors will be happened
});
//alert(node.ui.getAnchor());
}
tabPanel.setActiveTab(n);
}
}
//end loading div in page
setTimeout(
function() {
Ext.get('loading').remove();
Ext.get('loading-mask').fadeOut({remove:true});
}, 250
);
//这里放一些实例,仅供学习用,only for learning---------------------------------------
//1.messagebox
//Ext.MessageBox.show({
//title:"标题",
//msg:"内容的消息",
//buttons:{"ok":"我不再显示OK了"},
//fn:function(e){alert(e);},
//animEl:"tree",
//width:500,
//icon:Ext.MessageBox.INFO,
//closable:false,
//progress:true,
//wait:true,
//progressText:"进度条"
//wait:true,
//waitConfig:{
//interval:600,
//duration:5000,
//fn:function(){
//Ext.MessageBox.hide();//让进度条消失或者用Ext.MessageBox.updateProgress(i,Math.round(100*i)+"% completed",i);
//}},
// prompt:true
// multiline:true
//});
//2.带顶部,底部,脚部工具栏的panel
//var p=new Ext.Panel({
//id:"panel1",
//title:"标题",
//collapsible:true,
//renderTo:"container",
//closable:true,
//width:400,
//height:300,
//tbar:[{text:"按钮1"},{text:"按钮2"}], //顶部工具栏
//bbar:[{text:"按钮1"},{text:"按钮2"}], //底部工具栏
//html:"内容",
//buttons:[{text:"按钮1"},{text:"按钮2"}] //footer部工具栏
//});
// 我们已经在各种工具栏上添加了按钮,但是却没有激发事件,下面我们来添加按钮事件代码:
//tbar:[{text:"按钮1",handler:function(){Ext.MessageBox.alert("我是按钮1","我是通过按钮1激发出来的弹出框!")}},{text:"按钮2"}],
//3.嵌套了tabpanel的window
//var w=new Ext.Window({
//contentEl:"win",
//width:300,
//height:200,
//items:new Ext.TabPanel({
//activeTab:0,//当前标签为第1个tab(从0开始索引)
// border:false,
// items:[{title:"tab1",html:"tab1在windows窗口中"},{title:"tab2",html:"tab2在windows窗口中"}]//TabPanel中的标签页,以后再深入讨论
// }),
// plain:true,//true则主体背景透明,false则主体有小差别的背景色,默认为false
// title:"标题"
// });
// w.show();
});
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@ taglib prefix="ww" uri="/webwork" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Ext viewport 要在服务器下测试</title>
<link rel="stylesheet" type="text/css" href="../ext-2.2.1/resources/css/ext-all.css" />
<!-- GC -->
<!-- LIBS -->
<script type="text/javascript" src="../ext-2.2.1/adapter/ext/ext-base.js"></script>
<!-- ENDLIBS -->
<script type="text/javascript" src="../ext-2.2.1/ext-all.js"></script>
<!-- Common Styles for the examples -->
<!-- Custom CSS and Libs -->
<link rel="stylesheet" type="text/css" href="extcss/main.css"/>
<script type="text/javascript">
Ext.BLANK_IMAGE_URL = 'img/s.gif';
</script>
<style>
#actions li {
margin:.3em;
}
#actions li a {
color:#666688;
text-decoration:none;
}
.nav{
background:url(img/user.gif) no-repeat scroll left top;
}
</style>
</head>
<body>
<div id="loading-mask" style=""></div>
<div id="loading">
<div class="loading-indicator"><img src="img/extanim32.gif" width="32" height="32" style="margin-right:8px;" align="absmiddle"/>Loading...</div>
</div>
<script type="text/javascript" src="extjs/ext_viewport.js"></script>
<ul id="actions" class="x-hidden">
<li>
<a id="use" href="#">Use Existing Tab</a>
</li>
<li>
<a id="create" href="#">Create New Tab</a>
</li>
</ul>
<div id="west"></div>
<div id="north"></div>
<div id="south">
<div style="float:left;margin:5px;font:normal 12px tahoma, arial, sans-serif,宋体;">
Power By: erick
</div>
<div style="float:right;margin:5px;font:normal 12px tahoma, arial, sans-serif,宋体;"> 版本号V1.0Beta </div>
</div>
<div id="tabs"></div>
</body>
</html>
2.ext_viewport.js
Ext.onReady(function(){
Ext.QuickTips.init();//没查什么意思
//Ext.BLANK_IMAGE_URL = 'scripts/ext/resources/images/vista/s.gif';
// 包含actions的菜单
var tabActions = new Ext.Panel({
frame:true,
title: 'Actions',
collapsible:true,
contentEl:'actions',
titleCollapse: true
});
// 保持actions菜单的父面板
var actionPanel = new Ext.Panel({
id:'west-panel',
region:'west',
split:true,
collapsible: true,
// collapseMode: 'mini',
width:200,
//minWidth: 150,
minSize: 175,
maxSize: 400,
margins:'0 5 0 0',
border: true,
layout:'accordion',//加了以后 菜单的border就占满了west region,样式,默认总有一个菜单总打开
title:'system menu',
layoutConfig:{
animate:true
},//没看出变化
//baseCls:'x-plain',//一个样式
//items: [tabActions]
items: [
{
title:'系统管理',
border:false,//下面的tree里border:true;
html:'<div id="tree-div" style="overflow:auto;width:100%;height:100%;border:0px solid #c3daf9"></div>',
iconCls:'nav'//定义按钮等的图标的样式
},{
title:'System',
border:false,
//iconCls:'settings',
html:'<div id="tree" style="overflow:auto;width:100%;height:100%"></div>'
},{
title:'Sygetm',
border:false,
//iconCls:'settings',
html:'<div id="tree3" style="overflow:auto;width:100%;height:100%"></div>'
}]
});
// 主面板(已有tab)
var tabPanel = new Ext.TabPanel({
region:'center',
deferredRender:false,
autoScroll: true,
margins:'0 4 0 0', //up left down right
resizeTabs:true, // turn on tab resizing
minTabWidth: 85,
tabWidth:95,
enableTabScroll:true,//挤的时候能够滚动收缩
activeTab:0,
//autoHeight:true,
items:[{ //here is a define tab names "main",others will be add throught the tree click event
id:'tab1',
contentEl:'tabs',
title: 'Main',
html:"<div id='welcome' style='margin:40px;font-size:16px;color:#15428B;text-align:center'><h2><img src='img/extanim32.gif' width='32' height='32' style='margin-right:8px;' align='absmiddle'/>Welcome to IT Dept</h2></div>",
closable:true,
autoScroll:true
}],
//下面是新增的关閉右键菜单代码
listeners:{
//传进去的三个参数分别为:这个tabpanel(tabsDemo),当前标签页,事件对象e
"contextmenu":function(tdemo,myitem,e){
var menu=new Ext.menu.Menu([{
text:"关闭当前页",
handler:function(){
tdemo.remove(myitem);
}
},{
text:"关闭其他所有页",
handler:function(){
//循环遍历
tdemo.items.each(function(item){
if(item.closable&&item!=myitem)
{
//可以关闭的其他所有标签页全部关掉
tdemo.remove(item);
}
});
}
},{
text:"新建标签页",
handler:addTab
}]);
//显示在当前位置
menu.showAt(e.getPoint());
}
}
});
// 配置视图viewport
viewport = new Ext.Viewport({
layout:'border',
items:[
new Ext.BoxComponent({
region:'north',
el: 'north',
height:30
}),new Ext.BoxComponent({
region:'south',
el: 'south',
height:55
}),
actionPanel,tabPanel]});
// 在中间的面板加入tab
function addTab(tabTitle, targetUrl){
tabPanel.add({
title: tabTitle,
iconCls: 'tabs',
autoLoad: {url: targetUrl, callback: this.initSearch, scope: this},
closable:true
}).show();
}
// 更新tab内容,如不存在就新建一个
function updateTab(tabId,title, url) {
var tab = tabPanel.getItem(tabId);
if(tab){
tab.getUpdater().update(url);
tab.setTitle(title);
}else{
tab = addTab(title,url);
}
tabPanel.setActiveTab(tab);
}
// 映射连接的id到函数
var count = 0;
var actions = {
'create' : function(){
addTab("New Tab",'sample0.html');
},
'use' : function(){
// 演示页之间的轮换
updateTab('tab1','替换' + count + ' 次','sample'+(count%2)+'.html');
count++;
}
};
function doAction(e, t){
e.stopEvent();
actions[t.id]();
}
// body初始化后,viewport setup过后才能执行下面的代码
//actionPanel.body.on('mousedown', doAction, null, {delegate:'a'}); //改为tree.on('click',treeClick);
//my tree define ----tree1-------
var Tree = Ext.tree;
//要在服务器下测试
//定义根节点的Loader
var treeloader=new Tree.TreeLoader({
baseParams:{fid:'0'},//default post a parameter fid to action
dataUrl:'../extmenu.action' //指定的URL
//dataUrl:'extMenusubmit.jsp'
});
//根节点
//var root=new Ext.tree.TreeNode({
//TreeNode常用配置参数
//1.checked:false//true则在text前有个选中的复选框,false则text前有个未选中的复选框,默认没有任何框框
//2.expanded:fasle//展开,默认不展开
//3.href:"http:/www.cnblogs.com"//节点的链接地址
//4.hrefTarget:"mainFrame"//打开节点链接地址默认为blank,可以设置为iframe名称id,则在iframe中打开
//5.leaf:true//叶子节点,看情况设置
//6.qtip:"提示"//提示信息,不过要 Ext.QuickTips.init();下
//7.text:"节点文本"//节点文本
//8.singleClickExpand:true//用单击文本展开,默认为双击
//isteners:{//监听
//"click":function(node,e){
// alert(node.text)
// }
// }
//id:"root",
//text:"控制面板",
//expanded:true
//});
//异步加载根节点
var root=new Tree.AsyncTreeNode({
id:'0',
text:'root'
});
//var tree = new Tree.TreePanel('tree',{//ext 1.0
var tree = new Tree.TreePanel({
//renderTo:"tree_div",
//如果使用renderTo,则不能使用setRootNode()方法,需要在TreePanel中设置root属性。
el:'tree-div',//ext 2.0
//el:'west',
//root:root, //填充区域
rootVisible:false, //隐藏根节点
border:true, //边框
animate:true, //动画效果
autoScroll:true, //自动滚动
enableDD:true, //节点是否可以拖拽
containerScroll:true,
//lines:true,//节点间的虚线条
useArrows:true,//小箭头
//root:rotnode, //两种设置root节点的方法,
//一种配置root,另一种就是setRootNode
loader:treeloader
});
//设置根节点
tree.setRootNode(root);
//响应事件,传递node参数
tree.render();
// root.expand(false,true); //展开一级树,第二级后不展开
root.expand();
treeloader.on('beforeload',function(treeLoader,node){
this.baseParams.fid=node.attributes.id;//传参数
//Ext.Msg.alert('msg',this.baseParams.fid);
},treeloader);
tree.on('click',treeClick);//tree leaf click event
//tree1 end----------------------------------
//tree2 start------------------------------------
var root2=new Ext.tree.TreeNode({
id:"root2",
text:"tree root"
});
var c1=new Ext.tree.TreeNode({
id:'c1',
icon:'img/im2.gif',
text:'infomation1'
});
var c2=new Ext.tree.TreeNode({
id:'c2',
icon:'img/im2.gif',
//text:'<a href=\'1.jsp\' target=\'_self\'>infomation2</a>'
text:'information2',
leaf:true
});
var c22=new Ext.tree.TreeNode({
id:'c22',
icon:'img/im2.gif',
text:'infomation3',
href:'1.jsp'
});
var c3=new Ext.tree.TreeNode({
id:'c3',
icon:'img/im2.gif',
text:'infomation4'
});
var c4=new Ext.tree.TreeNode({
id:'c4',
icon:'img/im2.gif',
text:'infomation5',
href:'output\/Ext.WindowGroup.html'
});
var c5=new Ext.tree.TreeNode({
id:'c5',
text:'infomation'
});
c1.appendChild(c2);
c1.appendChild(c22);
root2.appendChild(c1);
root2.appendChild(c3);
root2.appendChild(c4);
//root3.appendChild(c5);
var tree2=new Ext.tree.TreePanel({
renderTo:"tree",
root:root2,
animate:true,
enableDD:false,
border:false,
rootVisible:false,
containerScroll: true
});
tree2.on('click',treeClick);//没有效果,it seams the link should be add to the tree options directly by href property,i know why ,maybe the isleaf property is undefine
//tree2 end-------------------------------------------------------------------------
//set tree click events
function treeClick(node,e) {
//var Tree = Ext.tree;
if(node.isLeaf()){
e.stopEvent();
//Ext.Msg.alert("msgkkk",node.id);
//Ext.Msg.alert('mmm',node.ui.getAnchor());
var n = tabPanel.getComponent(node.id);
if (!n) {
var n = tabPanel.add({
'id' : node.id,
'title' : node.text,
closable:true,
autoScroll:true,
//autoLoad:"2.jsp"
//html: '<iframe src="'+node.ui.getAnchor()+'" width="100%" height="100%" border="0"/>'
//只是不需要再载入ext的东西,其它代码结构完全相同,也是采用Ext.onReady方式,原因是<script>块中, 不能加入<!-- //--> 这一符号。否则Ext不能运行该页的javascript
//autoLoad:{url:'inventory_list.jsp',callback:this.initSearch,scope:this,script:true}//params: {TabId: tabIndex}
//autoLoad:{url:'../Inventory/ext_inventory_list.jsp',scripts:true,nocache: true}//leaf tree's id value must be a string not integer,otherwise "this.id.indexOf is not a function" errors will be happened
autoLoad:{url:'../Inventory/ext_stock_list.jsp',scripts:true,nocache: true}//leaf tree's id value must be a string not integer,otherwise "this.id.indexOf is not a function" errors will be happened
});
//alert(node.ui.getAnchor());
}
tabPanel.setActiveTab(n);
}
}
//end loading div in page
setTimeout(
function() {
Ext.get('loading').remove();
Ext.get('loading-mask').fadeOut({remove:true});
}, 250
);
//这里放一些实例,仅供学习用,only for learning---------------------------------------
//1.messagebox
//Ext.MessageBox.show({
//title:"标题",
//msg:"内容的消息",
//buttons:{"ok":"我不再显示OK了"},
//fn:function(e){alert(e);},
//animEl:"tree",
//width:500,
//icon:Ext.MessageBox.INFO,
//closable:false,
//progress:true,
//wait:true,
//progressText:"进度条"
//wait:true,
//waitConfig:{
//interval:600,
//duration:5000,
//fn:function(){
//Ext.MessageBox.hide();//让进度条消失或者用Ext.MessageBox.updateProgress(i,Math.round(100*i)+"% completed",i);
//}},
// prompt:true
// multiline:true
//});
//2.带顶部,底部,脚部工具栏的panel
//var p=new Ext.Panel({
//id:"panel1",
//title:"标题",
//collapsible:true,
//renderTo:"container",
//closable:true,
//width:400,
//height:300,
//tbar:[{text:"按钮1"},{text:"按钮2"}], //顶部工具栏
//bbar:[{text:"按钮1"},{text:"按钮2"}], //底部工具栏
//html:"内容",
//buttons:[{text:"按钮1"},{text:"按钮2"}] //footer部工具栏
//});
// 我们已经在各种工具栏上添加了按钮,但是却没有激发事件,下面我们来添加按钮事件代码:
//tbar:[{text:"按钮1",handler:function(){Ext.MessageBox.alert("我是按钮1","我是通过按钮1激发出来的弹出框!")}},{text:"按钮2"}],
//3.嵌套了tabpanel的window
//var w=new Ext.Window({
//contentEl:"win",
//width:300,
//height:200,
//items:new Ext.TabPanel({
//activeTab:0,//当前标签为第1个tab(从0开始索引)
// border:false,
// items:[{title:"tab1",html:"tab1在windows窗口中"},{title:"tab2",html:"tab2在windows窗口中"}]//TabPanel中的标签页,以后再深入讨论
// }),
// plain:true,//true则主体背景透明,false则主体有小差别的背景色,默认为false
// title:"标题"
// });
// w.show();
});
发表评论
-
ExtJs表格控件Grid
2011-09-17 22:29 1353下面介绍三种ExtJs中最 ... -
ExtJs树TreePanel
2011-09-17 22:27 24281.创建一个简单(静态)的树 /** 创建 ... -
ExtJs表单FormPanel
2011-09-17 22:17 10741.简单表单实例 /** 简单表单实例(与JSP ... -
ExtJs标签TabPanel
2011-09-17 22:13 19718function myRender(p){ E ... -
extjs 创建简单Meun,实现在TreePanel上面右键.
2011-09-17 22:02 5242/** 创建简单Menu */ fu ... -
EXT VTYPE
2009-09-02 19:00 1502ext vtype 实例 Ext.appl ... -
ext的vtype自动验证
2009-09-01 20:26 5891用vtype格式进行简单的验证。在此举邮件验证的例子,重写上面 ... -
extjs各种组件
2009-08-25 22:26 1466组件大致可以分成三大类,即基本组件、工具栏组件、表单及元素组件 ... -
用jQuery和ajax(两例)获得远方服务器数据
2009-07-29 19:59 1648login.html<html xmlns=" ... -
Ext源码分析之模板模式解说——Ext组件渲染render的全过程详述
2009-07-20 09:14 3503模板模式是设计模式中 ...
相关推荐
在Webwork+Spring+Hibernate集成中,Spring通常作为整体架构的胶水,负责各组件的连接和协调。它可以管理Webwork的Action,通过依赖注入提供所需的Service和DAO。同时,Spring可以配置Hibernate SessionFactory,...
在提供的文档“webwork+spring+hibernate架构.doc”中,可能详细阐述了这三者如何协同工作,包括配置文件设置、依赖注入的使用、事务管理策略以及具体实例的开发步骤。而“webwork.doc”则可能专门介绍了WebWork框架...
在IT行业中,Web开发是一个非常重要的领域,而`webwork+hibernate+spring`的组合是其中一种经典的架构模式,常用于构建高效、可维护的企业级应用。这个小例子展示了如何将这三大框架整合起来,配合MySQL数据库进行...
【标题】"webwork+hibernate+spring配置包"是一个集合了三个知名Java框架的配置文件,旨在帮助开发者快速搭建基于Web的应用程序。WebWork是用于构建动态Web应用程序的一个MVC框架,Hibernate是一个强大的对象关系...
【标题】"webwork+hibernate+spring的例子"展示了如何在实际项目中整合这三大框架,即WebWork、Hibernate和Spring。这三个框架是Java Web开发中的重要组件,它们各自承担着不同的职责,共同构建了一个功能强大的应用...
最近在做个项目,用的是webwork+spring+hibernate,在网上看了不少webwork+spring的配制方式,大多都是老的配制方式,比如2.1.7的,webwork2.2.4新加了很多功能,和spring的配制也简单了很多,我做了一个简单的登录...
【标题】:“WebWork+Spring+Hibernate网络购物系统”是一个基于特定技术栈的电商项目实现。这个系统利用了WebWork、Spring和Hibernate这三个关键的技术框架,构建了一个完整的、功能丰富的在线购物平台。WebWork...
webwork+spring+hibernate整合开发网络书城 第5讲
本源码实例只供学习。。 请一并下载webwork+spring+hibernate+freemarker (A)demo_lib 配合才能使用(此为项目的lib包。。) 请打开mark.txt参考操作
在IT行业中,Web开发是一个广泛且重要的领域,而"webwork+spring+hibernate"是一种常见的技术栈,用于构建动态、数据驱动的Web应用程序。这个技术组合涉及到三个核心组件:WebWork(一种MVC框架)、Spring(一个全面...
《webwork+spring+hibernate入门实例》 在当今的Web开发领域,Spring、Hibernate和WebWork(现称为Struts 2)是三个极为重要的框架。本实例将引导初学者深入理解这三大框架的集成与应用,以及如何与MySQL数据库进行...
【搭建WEBWORK+SPRING+HIBERNATE框架】是一个集成三大流行开源框架的过程,用于构建高效、可扩展的企业级Web应用。以下是详细的步骤和知识点: 1. **开发环境配置**: - 使用MyEclipse 5.5.1 GA作为开发工具,它...
WebWork+Spring+Hibernate整合开发网络书城是一个典型的Java Web应用程序开发框架的集成,这三种技术分别承担了不同的职责,共同构建了一个高效、灵活的后台系统。本资源提供了一个完整的网络书城项目的第一讲,旨在...
### 如何实现WebWork+Spring+Hibernate框架结合 随着企业级应用需求的不断增加和技术的不断发展,集成多种技术栈成为一种趋势。WebWork+Spring+Hibernate是早期比较流行的一种技术组合,它们各自解决的问题域不同,...
【WebWork+Spring+Hibernate整合开发】是一种常见的Java Web应用程序架构模式,用于构建高效、可扩展的业务系统。WebWork是Action-based MVC框架,Spring是一个全面的企业级应用框架,而Hibernate则是流行的对象关系...
WebWork+Spring+Hibernate整合
WebWork+Spring+Hibernate整合开发
浪曦 的webwork+spring+hibernate
【EXT+Spring+Hibernate+WebWork项目】是一个综合性的企业级应用开发实例,它整合了四个关键的技术框架:EXT、Spring、Hibernate和WebWork。这些技术的组合为构建高效、可扩展且用户友好的Web应用程序提供了强大的...