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 相关文章推荐
使用新的消息弹出框blackbirdjs
Oct 16 Javascript
jquery与google map api结合使用 控件,监听器
Mar 04 Javascript
js中window.open()的所有参数详细解析
Jan 09 Javascript
JavaScript 实现鼠标拖动元素实例代码
Feb 24 Javascript
JavaScript中跨域调用Flash的方法
Aug 11 Javascript
js中setTimeout()与clearTimeout()用法实例浅析
May 12 Javascript
js去字符串前后空格的实现方法
Feb 26 Javascript
浅谈javascript中关于日期和时间的基础知识
Jul 13 Javascript
jQuery可见性过滤选择器用法示例
Sep 09 Javascript
详解vuelidate 对于vueJs2.0的验证解决方案
Mar 09 Javascript
vue视图不更新情况详解
May 16 Javascript
小程序中this.setData的使用和注意事项
Aug 28 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函数
2010/02/16 PHP
谨慎使用PHP的引用原因分析
2012/09/06 PHP
php的ajax简单实例
2014/02/27 PHP
thinkPHP实现MemCache分布式缓存功能
2016/03/23 PHP
PHP registerXPathNamespace()函数讲解
2019/02/03 PHP
php + WebUploader实现图片批量上传功能
2019/05/06 PHP
jQuery 表单验证扩展代码(二)
2010/10/20 Javascript
javascript学习笔记(十六) 系统对话框(alert、confirm、prompt)
2012/06/20 Javascript
js控制href内容的连接内容的变化示例
2014/04/30 Javascript
了不起的node.js读书笔记之mongodb数据库交互
2014/12/22 Javascript
bootstrap-treeview自定义双击事件实现方法
2016/01/09 Javascript
实例讲解JavaScript中的this指向错误解决方法
2016/06/13 Javascript
js选择器全面解析
2016/06/27 Javascript
JS两种类型的表单提交方法实例分析
2016/11/28 Javascript
利用jquery去掉时光轴头尾部线条的方法实例
2017/06/16 jQuery
浅谈React之状态(State)
2018/09/19 Javascript
angular4 获取wifi列表中文显示乱码问题的解决
2018/10/20 Javascript
浅谈高大上的微信小程序中渲染html内容—技术分享
2018/10/25 Javascript
nuxt 每个页面head标签内容设置方式
2020/11/05 Javascript
[01:10]3.19DOTA2发布会 三代刀塔人第一代
2014/03/25 DOTA
Python Pywavelet 小波阈值实例
2019/01/09 Python
Python3 翻转二叉树的实现
2019/09/30 Python
利用python Selenium实现自动登陆京东签到领金币功能
2019/10/31 Python
Python 读取WAV音频文件 画频谱的实例
2020/03/14 Python
Python如何读取、写入CSV数据
2020/07/28 Python
Pycharm Git 设置方法
2020/09/15 Python
python抢购软件/插件/脚本附完整源码
2021/03/04 Python
HTML5 FileReader对象的具体使用方法
2020/05/22 HTML / CSS
Html5移动端div固定到底部实现底部导航条的几种方式
2021/03/09 HTML / CSS
宿舍使用违章电器检讨书
2014/01/12 职场文书
房产公证书格式
2015/01/26 职场文书
幼儿园科学课教学反思
2016/03/03 职场文书
2016年第二十五次全国助残日活动总结
2016/04/01 职场文书
2019员工保密协议书(3篇)
2019/09/23 职场文书
mysql5.7的安装及Navicate长久免费使用的实现过程
2021/11/17 MySQL
Redis特殊数据类型HyperLogLog基数统计算法讲解
2022/06/01 Redis