extjs两个tbar问题探讨


Posted in Javascript onAugust 08, 2013

版本:extjs3.4

接触过extjs的同志们都知道每个panel都有一个tbar(top bar 上面工具栏) ,bbar(bottom bar 底部工具栏)

大家做查询页面,一般都是啥样子的?
最基本的是一个table,来显示数据。
再进一步:
添加对数据的操作,比如添加按钮
再进一步:
一般查询都会有查询条件,查询条件可以快速定位。

那对于extjs来说,extjs中封装了很多组件,其中组件的概念很类似于java swing,比如panel,button,component,container等这种东西。
对于上述的查询页面,做java开发,相比一点问题都没有,三个table,或三个div即可。
那对于extjs呢?
其实extjs也灰常简单,显示数据的,使用gird组件,查询按钮,使用button组件,查询条件,文本格式啊,但是若把添加按钮和查询搜索条件放在一个tbar上,这样也可以,至少功能实现了。
但是一切都是为客户着想,着想最明显的行为:把用户想成傻瓜,一切傻瓜式操作。比如傻瓜式相机,傻瓜式装系统,不是挺火的啊。

那为了信达雅,到底如何把执行按钮和查询搜索条件分别放在两个tbar上呢?
网上有一种在grid中添加两个tbar的代码,对于项目着急的新手来说,本人有个简单的做法,一样实现信达雅:
最简单的做法是:使用listeners监听器方式。

第一:把执行按钮,比如添加按钮,放在panel自带的tbar上。
第二:自定义工具栏,在其上放查询搜索条件。
第三:自定义工具栏监听panel自带的tbar【即第二监听第一】

代码如下:

tbar:new Ext.Toolbar({items:['-']}), 
//把查询工具栏写在按钮工具栏下面 
listeners: { 
render: function(){ 
queryBar.render(this.tbar); 
} 
} //我们项目部分主要代码如下: 
mnguser.panel = new Ext.Panel({ 
id :'mngmenuDiv', 
title : '用户管理', 
region : 'center', 
layout : 'fit', 
style : 'padding:3px;', 
bodyBorder : true, 
border : true, 
items : _grid, 
tbar:new Ext.Toolbar({items:['-']}), 
//把查询工具栏写在按钮工具栏下面 
listeners: { 
render: function(){ 
queryBar.render(this.tbar); 
} 
} 
}); 
mnguser.body = Ext.extend(Ext.Viewport, { 
layout : 'border', 
initComponent : function() { 
this.content = mnguser.panel; 
menuOpt(this.content); //在自带tbar上添加执行按钮 
Ext.apply(this, { 
items : [this.content] 
}); 
mnguser.body.superclass.initComponent.call(this); 
} 
});

效果如下:
extjs两个tbar问题探讨
Javascript 相关文章推荐
jQuery验证Checkbox是否选中的代码 推荐
Sep 04 Javascript
JavaScript中json对象和string对象之间相互转化
Dec 26 Javascript
点击进行复制的JS代码实例
Aug 23 Javascript
关于Javascript 对象(object)的prototype
May 09 Javascript
包含中国城市的javascript对象实例
Aug 03 Javascript
jQuery手机拨号界面特效代码分享
Aug 27 Javascript
jQuery无刷新切换主题皮肤实例讲解
Oct 21 Javascript
JavaScript解八皇后问题的方法总结
Jun 12 Javascript
JavaScript Ajax编程 应用篇
Jul 02 Javascript
微信小程序-小说阅读小程序实例(demo)
Jan 12 Javascript
JS实现小星星特效
Dec 24 Javascript
jQuery单页面文字搜索插件jquery.fullsearch.js的使用方法
Feb 04 jQuery
JS实现随机数生成算法示例代码
Aug 08 #Javascript
判断是否安装flash player及当前版本的JS代码
Aug 08 #Javascript
js 为label标签和div标签赋值的方法
Aug 08 #Javascript
JS模拟自动点击的简单实例
Aug 08 #Javascript
动态改变div的z-index属性的简单实例
Aug 08 #Javascript
Js制作简单弹出层DIV在页面居中 中间显示遮罩的具体方法
Aug 08 #Javascript
JS+css 图片自动缩放自适应大小
Aug 08 #Javascript
You might like
php中使用in_array() foreach array_search() 查找数组是否包含时的性能对比
2015/04/14 PHP
PHP封装curl的调用接口及常用函数详解
2018/05/31 PHP
Thinkphp 3.2框架使用Redis的方法详解
2019/10/24 PHP
JS无法捕获滚动条上的mouse up事件的原因猜想
2012/03/21 Javascript
基于JavaScript实现继承机制之调用call()与apply()的方法详解
2013/05/07 Javascript
js控制浏览器全屏示例代码
2014/02/20 Javascript
js+css实现回到顶部按钮(back to top)
2016/03/02 Javascript
AngularJS创建自定义指令的方法详解
2016/11/03 Javascript
vue.js删除动态绑定的radio的指定项
2017/06/02 Javascript
微信小程序富文本渲染引擎的详解
2017/09/30 Javascript
jquery学习笔记之无new构建详解
2017/12/07 jQuery
vue.js给动态绑定的radio列表做批量编辑的方法
2018/02/28 Javascript
JavaScript实现一个带AI的井字棋游戏源码
2018/05/21 Javascript
axios简单实现小程序延时loading指示
2018/07/30 Javascript
vue3.0 CLI - 2.5 - 了解组件的三维
2018/09/14 Javascript
js实现随机数小游戏
2019/06/28 Javascript
vue实现axios图片上传功能
2019/08/20 Javascript
解决VantUI popup 弹窗不弹出或无蒙层的问题
2020/11/03 Javascript
python 迭代器和iter()函数详解及实例
2017/03/21 Python
pyenv命令管理多个Python版本
2017/03/26 Python
Python开发微信公众平台的方法详解【基于weixin-knife】
2017/07/08 Python
Linux上使用Python统计每天的键盘输入次数
2019/04/17 Python
Python+OpenCV 实现图片无损旋转90°且无黑边
2019/12/12 Python
Python利用for循环打印星号三角形的案例
2020/04/12 Python
python+adb+monkey实现Rom稳定性测试详解
2020/04/23 Python
在主流系统之上安装Pygame的方法
2020/05/20 Python
python实现sm2和sm4国密(国家商用密码)算法的示例
2020/09/26 Python
Perricone MD裴礼康美国官网:抗衰老护肤品
2016/09/26 全球购物
豆腐の盛田屋官网:日本自然派的豆乳面膜、肥皂、化妆水、乳液等
2016/10/08 全球购物
博士毕业生自我鉴定范文
2014/04/13 职场文书
职业生涯规划书怎么写?
2014/09/14 职场文书
销售代理协议书
2014/09/30 职场文书
学生党员检讨书范文
2014/12/27 职场文书
Python实现简单的俄罗斯方块游戏
2021/09/25 Python
Python之Matplotlib绘制热力图和面积图
2022/04/13 Python
golang操作redis的客户端包有多个比如redigo、go-redis
2022/04/14 Golang