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 相关文章推荐
ExtJS 工具栏 分页事件参数
Mar 05 Javascript
js动态在form上插入enctype=multipart/form-data的问题
May 24 Javascript
javascript判断非数字的简单例子
Jul 18 Javascript
使用JavaScript 编写简单计算器
Nov 24 Javascript
jquery+easeing实现仿flash的载入动画
Mar 10 Javascript
详解JavaScript树结构
Jan 09 Javascript
详解Vue用自定义指令完成一个下拉菜单(select组件)
Oct 31 Javascript
vue的过滤器filter实例详解
Sep 17 Javascript
详解vue项目打包步骤
Mar 29 Javascript
JavaScript对象属性操作实例解析
Feb 04 Javascript
JavaScript如何判断input数据类型
Feb 06 Javascript
vue-quill-editor 自定义工具栏和自定义图片上传路径操作
Aug 03 Javascript
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 和 MySQL 开发的 8 个技巧
2007/01/02 PHP
ThinkPHP框架实现session跨域问题的解决方法
2014/07/01 PHP
PHP获取一年中每个星期的开始和结束日期的方法
2015/02/12 PHP
PHP7扩展开发之基于函数方式使用lib库的方法详解
2018/01/15 PHP
How to Auto Include a Javascript File
2007/02/02 Javascript
jQuery ui 1.7更新小结
2009/08/15 Javascript
基于Jquery插件开发之图片放大镜效果(仿淘宝)
2011/11/19 Javascript
Jquery实现搜索框提示功能示例代码
2013/08/13 Javascript
jQuery幻灯片特效代码分享--鼠标滑过按钮时切换(2)
2020/11/18 Javascript
js查看一个函数的执行时间实例代码
2015/09/12 Javascript
jQuery遍历DOM的父级元素、子级元素和同级元素的方法总结
2016/07/07 Javascript
Express与NodeJs创建服务器的两种方法
2017/02/06 NodeJs
vue项目实现github在线预览功能
2018/06/20 Javascript
关于vue-cli 3配置打包优化要点(推荐)
2019/04/22 Javascript
node.js使用 http-proxy 创建代理服务器操作示例
2020/02/10 Javascript
vue同个按钮控制展开和折叠同个事件操作
2020/07/29 Javascript
[06:45]DOTA2卡尔工作室 英雄介绍幻影长矛手篇
2013/07/12 DOTA
对pandas进行数据预处理的实例讲解
2018/04/20 Python
python3.6的venv模块使用详解
2018/08/01 Python
python简单操作excle的方法
2018/09/12 Python
PyTorch 导数应用的使用教程
2020/08/31 Python
日本最新流行服饰网购:Nissen
2016/07/24 全球购物
Pat McGrath Labs官网:世界上最有影响力的化妆师推出的彩妆品牌
2018/01/07 全球购物
Myprotein法国官网:欧洲第一运动营养品牌
2019/03/26 全球购物
英国网上超市:Ocado
2020/03/05 全球购物
德国的各种媒体在线商店:Thalia.de(书籍、电子书、玩具等)
2020/10/08 全球购物
Linux面试题LINUX系统类
2014/11/19 面试题
营销与策划个人求职信
2013/09/22 职场文书
请假条标准格式规范
2014/04/10 职场文书
好听的队名和口号
2014/06/09 职场文书
毕业生找工作求职信
2014/08/05 职场文书
2014年小学教师工作总结
2014/11/10 职场文书
邀请函样本
2015/02/02 职场文书
地球上的星星观后感
2015/06/02 职场文书
JS不要再到处使用绝对等于运算符了
2021/04/30 Javascript
IDEA 链接Mysql数据库并执行查询操作的完整代码
2021/05/20 MySQL