ExtJs中如何在DeskTop的弹出窗口中引入其他控件

BRFBBB 2010-09-14 04:52:12
小弟初学Ext最近遇一问题,研究许久未能解答。希望CSDN的大侠们给予帮助,感激不尽!

我希望在Ext中的DeskTop组件也就是桌面组件中通过点击桌面左边的快捷按钮弹出里面是ExtJs3.2.1版本案例中Group Tabs组件。当然也就是弹出一个右上角有最小化、最大化和关闭按钮的Group Tabs。不知道如何实现?

经过我的研究应该在DeskTop组件的sample.js文件中如下代码处添加:
(ext-3.2.1\ext-3.2.1\examples\desktop\sample.js)


MyDesktop.GridWindow = Ext.extend(Ext.app.Module, {
id:'grid-win',
init : function(){
this.launcher = {
text: 'Grid Window',//这个是开始菜单中的名称
iconCls:'icon-grid',//这个是开始菜单中标题左面的图标
handler : this.createWindow,//点击时调用的方法,也就是下面的createWindow方法
scope: this
}
},

createWindow : function(){//产生window的函数
var desktop = this.app.getDesktop();//得到系统桌面的对象
var win = desktop.getWindow('grid-win');//取窗口
if(!win){ //如果此时没有这个窗口就创建一个,如果有就不用创建了
win = desktop.createWindow({

*********************************************
在这里
**********************************************

});
}
win.show();//显示这个窗口
}
});




要添加进入的内容是:
(ext-3.2.1\ext-3.2.1\examples\grouptabs\grouptabs.js)

改程序以被我简化,仅供各位大侠参考:

Ext.onReady(function() {
Ext.QuickTips.init();
var viewport = new Ext.Viewport({

layout:'fit',
items:[{
xtype: 'grouptabpanel',
tabWidth: 130,
activeGroup: 0,
items: [{
mainItem: 1,
items: [{
id:'c',
title: 'Create',
layout: 'fit',
iconCls: 'x-icon-tickets',//前面的图标
tabTip: 'Tickets tabtip',//这里是鼠标在文字上面的显示内容
style: 'padding: 10px;'
}, {
xtype: 'portal',
title: '创建项目',
tabTip: 'Dashboard tabtip',

}, {
title: '描述',
iconCls: 'x-icon-subscriptions',
tabTip: 'Subscriptions tabtip',
style: 'padding: 10px;',
layout: 'fit',

}, {
title: '文件筐',
iconCls: 'x-icon-users',
tabTip: 'Users tabtip',
style: 'padding: 10px;',
html: Ext.example.shortBogusMarkup
}]
}]
}]

});

});



这是小弟第一次提问,如果说明的不是很清楚请指明。



...全文
649 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
zoujp_xyz 2010-09-15
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 brfbbb 的回复:]

引用 3 楼 zoujp_xyz 的回复:
引用 2 楼 brfbbb 的回复:

可能是一楼没太明白我的意思,并不是需要一个链接后台的调用。我只是需要一个静态界面,点击桌面的图标就能显示一个已经写好的窗口。我现在能弹出一个空窗口,只是不知道怎么在空窗口中加入Group Tabs组件。

你把js写在一个文件中不好吗?这样更利于维护
在1.js文件中你也可以加入group tabs组……
[/Quote]
你用了desktop了,就不要用Viewport了,改用window
BRFBBB 2010-09-15
  • 打赏
  • 举报
回复
引错了,应该是引四楼的
BRFBBB 2010-09-15
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zoujp_xyz 的回复:]
引用 2 楼 brfbbb 的回复:

可能是一楼没太明白我的意思,并不是需要一个链接后台的调用。我只是需要一个静态界面,点击桌面的图标就能显示一个已经写好的窗口。我现在能弹出一个空窗口,只是不知道怎么在空窗口中加入Group Tabs组件。

你把js写在一个文件中不好吗?这样更利于维护
在1.js文件中你也可以加入group tabs组件
[/Quote]

第一、即使引用了在桌面上点图标还是没有反应。
第二、你的这段代码我copy上去也是不行。

我现在怀疑是不是与grouptabs组件中的Viewport有关系呢,Viewport应该是全屏的吧。那改成什么呢?
zoujp_xyz 2010-09-14
  • 打赏
  • 举报
回复
createWindow : function(){//产生window的函数
var desktop = this.app.getDesktop();//得到系统桌面的对象
var win = desktop.getWindow('grid-win');//取窗口
if(!win){ //如果此时没有这个窗口就创建一个,如果有就不用创建了
win = desktop.createWindow({
title:"demo",
width:200,
height:200,
layout:"fit",
xtype:"tabpanel",
activeItem:0,
items:[
{},
{},
{}
]

});
}
win.show();//显示这个窗口
}
zoujp_xyz 2010-09-14
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 brfbbb 的回复:]

可能是一楼没太明白我的意思,并不是需要一个链接后台的调用。我只是需要一个静态界面,点击桌面的图标就能显示一个已经写好的窗口。我现在能弹出一个空窗口,只是不知道怎么在空窗口中加入Group Tabs组件。
[/Quote]
你把js写在一个文件中不好吗?这样更利于维护
在1.js文件中你也可以加入group tabs组件
BRFBBB 2010-09-14
  • 打赏
  • 举报
回复
可能是一楼没太明白我的意思,并不是需要一个链接后台的调用。我只是需要一个静态界面,点击桌面的图标就能显示一个已经写好的窗口。我现在能弹出一个空窗口,只是不知道怎么在空窗口中加入Group Tabs组件。
zoujp_xyz 2010-09-14
  • 打赏
  • 举报
回复
1.js
var win = new Ext.Window({
title:"demo",
width: 100,
height: 100,
html: "zoujp_xyz"
});
win.show();

2.if (!win) {
Ext.Ajax.request({
url: "1.js",
success: function(response, options) {
eval(response.responseText);
}
});
} else {
win.show();
}

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧