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 相关文章推荐
点击弹出层效果&弹出窗口后网页背景变暗效果的实现代码
Feb 10 Javascript
使用JavaScript进行进制转换将字符串转换为十进制
Sep 21 Javascript
js实现带有介绍的Select列表菜单实例
Aug 18 Javascript
基于jQuery实现表格内容的筛选功能
Aug 21 Javascript
js 判断各种数据类型的简单方法(推荐)
Aug 29 Javascript
微信小程序 欢迎页面的制作(源码下载)
Jan 09 Javascript
Bootstrap table 定制提示语的加载过程
Feb 20 Javascript
webpack实现热加载自动刷新的方法
Jul 30 Javascript
对于js垃圾回收机制的理解
Sep 14 Javascript
微信小程序动态增加按钮组件
Sep 14 Javascript
原生js+ajax分页组件
Jan 30 Javascript
js动态添加带圆圈序号列表的实例代码
Feb 18 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实现WEB动态网页静态
2006/10/09 PHP
php生成SessionID和图片校验码的思路和实现代码
2009/03/10 PHP
PHP5.2中date()函数显示时间与北京时间相差8小时的解决办法
2009/05/28 PHP
php中inlcude()性能对比详解
2012/09/16 PHP
PHP高级编程实例:编写守护进程
2014/09/02 PHP
经典PHP加密解密函数Authcode()修复版代码
2015/04/05 PHP
PHP制作用户注册系统
2015/10/23 PHP
Laravel路由设定和子路由设定实例分析
2016/03/30 PHP
yii2整合百度编辑器umeditor及umeditor图片上传问题的解决办法
2016/04/20 PHP
浅谈php中urlencode与rawurlencode的区别
2016/09/05 PHP
CodeIgniter框架常见用法工作总结
2017/03/16 PHP
PHP分页显示的方法分析【附PHP通用分页类】
2018/05/10 PHP
php微信扫码支付 php公众号支付
2019/03/24 PHP
JQuery UI的拖拽功能实现方法小结
2012/03/14 Javascript
javascript获取和判断浏览器窗口、屏幕、网页的高度、宽度等
2014/05/08 Javascript
jquery实现弹出层登录和全屏层注册特效
2015/08/28 Javascript
关于laydate.js加载laydate.css路径错误问题解决
2017/12/27 Javascript
Node.js Express安装与使用教程
2018/05/11 Javascript
微信小程序自定义弹窗滚动与页面滚动冲突的解决方法
2019/07/16 Javascript
vue中监听路由参数的变化及方法
2019/12/06 Javascript
[07:31]DOTA2卡尔工作室 英雄介绍主宰篇
2013/06/25 DOTA
[01:27:44]DOTA2-DPC中国联赛 正赛 PSG.LGD vs Aster BO3 第一场 1月24日
2021/03/11 DOTA
Python加pyGame实现的简单拼图游戏实例
2015/05/15 Python
利用aardio给python编写图形界面
2017/08/21 Python
python批量修改图片大小的方法
2018/07/24 Python
python 定义类时,实现内部方法的互相调用
2019/12/25 Python
移动通信行业实习自我鉴定
2013/09/28 职场文书
大学自我评价
2014/02/12 职场文书
代领毕业证委托书
2014/08/02 职场文书
敬老院活动感想
2015/08/07 职场文书
2019年房屋委托租赁合同范本(通用版)!
2019/07/17 职场文书
英语版自我评价,35句话轻松搞定
2019/10/08 职场文书
纯html+css实现打字效果
2021/08/02 HTML / CSS
Nginx反向代理学习实例教程
2021/10/24 Servers
Python 数据可视化之Seaborn详解
2021/11/02 Python
MySQL优化及索引解析
2022/03/17 MySQL