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 相关文章推荐
Gird事件机制初级读本
Mar 10 Javascript
javascript 24小时弹出一次的代码(利用cookies)
Sep 03 Javascript
Javascript attachEvent传递参数的办法
Dec 14 Javascript
jQuery实用函数用法总结
Aug 29 Javascript
node.js中的fs.fchownSync方法使用说明
Dec 16 Javascript
AngularJS基础知识笔记之表格
May 10 Javascript
javascript实现将文件保存到本地方法汇总
Jul 26 Javascript
JavaScript为事件句柄绑定监听函数实例详解
Dec 15 Javascript
javascript宿主对象之window.navigator详解
Sep 07 Javascript
JS写谷歌浏览器chrome的外挂实例
Jan 11 Javascript
node获取客户端ip功能简单示例
Aug 24 Javascript
Vue ​v-model相关知识总结
Jan 28 Vue.js
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调用三种数据库的方法(3)
2006/10/09 PHP
PHP memcache扩展的三种安装方法
2009/04/26 PHP
ThinkPHP调用百度翻译类实现在线翻译
2014/06/26 PHP
php中使用base HTTP验证的方法
2015/04/20 PHP
js获得地址栏?问号后参数的方法
2013/08/08 Javascript
解析Javascript中难以理解的11个问题
2013/12/09 Javascript
JQuery控制Radio选中方法分析
2015/05/29 Javascript
Javascript实现汉字和拼音互转的终极方案
2016/10/19 Javascript
javascript构造函数以及原型对象的理解
2017/01/13 Javascript
React Native之ListView实现九宫格效果的示例
2017/08/02 Javascript
对node通过fs模块判断文件是否是文件夹的实例讲解
2019/06/10 Javascript
中高级前端必须了解的JS中的内存管理(推荐)
2019/07/04 Javascript
简单了解Vue + ElementUI后台管理模板
2020/04/07 Javascript
JavaScript实现前端倒计时效果
2021/02/09 Javascript
[08:02]DOTA2牵红线 zhou神抱得美人归
2014/03/22 DOTA
python海龟绘图实例教程
2014/07/24 Python
Python中的is和id用法分析
2015/01/26 Python
Python中if elif else及缩进的使用简述
2018/05/31 Python
python实现人人自动回复、抢沙发功能
2018/06/08 Python
python使用tcp实现局域网内文件传输
2020/03/20 Python
python中for循环输出列表索引与对应的值方法
2018/11/07 Python
Python对象转换为json的方法步骤
2019/04/25 Python
Flask配置Cors跨域的实现
2019/07/12 Python
Python importlib模块重载使用方法详解
2020/10/13 Python
法国创作个性化T恤衫和其他定制产品平台:Tostadora
2018/04/08 全球购物
JD Sports荷兰:英国领先的运动时尚零售商
2020/03/13 全球购物
北京泡泡网网络有限公司.net面试题
2012/07/17 面试题
网站开发实习生的自我评价
2013/12/11 职场文书
文案策划求职信
2014/03/18 职场文书
小学生竞选班干部演讲稿(5篇)
2014/09/12 职场文书
初三毕业评语
2014/12/26 职场文书
投诉信回复范文
2015/07/03 职场文书
微信早安问候语
2015/11/10 职场文书
《卖火柴的小女孩》教学反思
2016/02/19 职场文书
小公司融资,商业计划书的8切记
2019/07/15 职场文书
SQL 聚合、分组和排序
2021/11/11 MySQL