在ExtJS中实现多行工具栏的效果
hack code:
-
/**
-
* ExtJS hack: Add multiple toolbars to a Panel
- *
-
* @author Jet Ma (jetmah(at)gmail(dot)com)
-
*/
-
// 将原来的onRender方法进行重定义,以免造成递归调用!
-
// rename the original onRender method to avoid call itself
-
Ext.Panel.prototype.originalonRender = Ext.Panel.prototype.onRender;
-
// 扩展onRender方法,实现在Toolbar中增加多行
-
// override onRender method
-
Ext.Panel.prototype.onRender = function(ct, position) {
-
this.originalonRender(ct, position);
-
-
// 增加使用rowtbar添加换行的Toolbar
-
// use the custom rowtbar argument to add it to this TopToolbar
-
if(this.tbar && this.rowtbar){
-
var rowtbar = this.rowtbar;
-
if(!Ext.isArray(rowtbar))
-
return;
-
-
for(var i = 0; i < rowtbar.length; i ++) {
-
new Ext.Toolbar(rowtbar[i]).render(this.tbar);
-
}
-
}
-
-
// 增加使用rowbbar添加换行的Bottombar
-
// use the custom rowbbar argument to add it to this BottomToolbar
-
if(this.bbar && this.rowbbar) {
-
var rowbbar = this.rowbbar;
-
if(!Ext.isArray(rowbbar))
-
return;
-
-
for(var i = 0; i < rowbbar.length; i ++) {
-
new Ext.Toolbar(rowbbar[i]).render(this.bbar);
-
}
-
}
- }
usage:
-
var panel = new Ext.Panel({
-
//...
-
tbar: [{text: 'button one'}, {text: 'button two'}],
-
rowtbar: [
-
[{text: 'row1 buttone 1'}, {text: 'row1 button2'}],
-
[{text: 'row2 buttone 1'}, {text: 'row2 button2'}]
-
],
-
bbar: [{text: 'button one'}, {text: 'button two'}],
-
rowbbar: [
-
[{text: 'row1 buttone 1'}, {text: 'row1 button2'}],
-
[{text: 'row2 buttone 1'}, {text: 'row2 button2'}]
-
]
-
});
screenshot:
more discussion: http://www.extjs.com/forum/showthread.php?t=94762
分享到:
相关推荐
ExtJS扩展:lovcombo(已解决Bug版) 内赋详细使用说明
ExtJs:收集基于ExtJs扩展的一些控件 ExtJs:收集基于ExtJs扩展的一些控件
NULL 博文链接:https://icyfire.iteye.com/blog/412574
常用Extjs工具:Extjs.util.Format使用方法,需要的朋友可以参考下
类似extjs中viewport的panel viewport只能渲染到body,而这个panel可以渲染到任何html元素,并且这个panel会自动变大!自动填充到最大化
Extjs4.0学习笔记.pdf 是电子书格式的,可以下载看看
第二十六讲: EXTJS4.0的高级组件Panel和Layout上 第二十七讲: EXTJS4.0的高级组件Panel和Layout下 第二十八讲: EXTJS4.0的高级组件Chart上 第二十九讲: EXTJS4.0的高级组件Chart下 第三十讲: EXTJS4.0的Desktop使用...
Extjs 4.11 重写 Panel 添加 click事件
http://fortawesome.github.io/Font-Awesome/cheatsheet/网页转化成的pdf 看到对应的图标就可以得到相应的glyph数字哦。简单易用,转化成pdf随时可以使用的哦 可以参照 ...
Alien::Web::ExtJS::V3 - ExtJS 3.x 源的 Perl 发行版 版本 ExtJS v3.4.11 (GPL) 概要 use Alien::Web::ExtJS::V3 '3.4.11'; my $dir = Alien::Web::ExtJS::V3->dir; print "ExtJS sources are installed in: $dir\...
extjs 必填项目加*
js代码,实现了 extjs4.x tabpanel 动态加载panel和html的功能
extjs动态生成model、store、panel;sql拼接等多种技术难点
Extjs 重写Panel添加click事件
一个简单的EXTJS Panel,对于入门的学者来说,是个很好的例子。
第二十六讲:extjs4.0的高级组件panel和layout上 第二十七讲:extjs4.0的高级组件panel和layout下 第二十八讲:extjs4.0的高级组件chart上 第二十九讲:extjs4.0的高级组件chart下 第三十讲:extjs4.0的desktop使用...
第二十六讲:extjs4.0的高级组件panel和layout上 第二十七讲:extjs4.0的高级组件panel和layout下 第二十八讲:extjs4.0的高级组件chart上 第二十九讲:extjs4.0的高级组件chart下 第三十讲:extjs4.0的desktop...
Ext各种组件的使用实例,Extjs tree+grid+form+panel 使用实例
第二十六讲:extjs4.0的高级组件panel和layout上 第二十七讲:extjs4.0的高级组件panel和layout下 第二十八讲:extjs4.0的高级组件chart上 第二十九讲:extjs4.0的高级组件chart下 第三十讲:extjs4.0的desktop使用...
基于extjs form表单的项目源码