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 相关文章推荐
JavaScript 类似flash效果的立体图片浏览器
Feb 08 Javascript
JS实现Select的option上下移动的方法
Mar 01 Javascript
js实现背景图自适应窗口大小
Jan 10 Javascript
使用Bootstrap + Vue.js实现添加删除数据示例
Feb 27 Javascript
详解Node.js access_token的获取、存储及更新
Jun 20 Javascript
Vue项目添加动态浏览器头部title的方法
Jul 11 Javascript
使用node搭建自动发图文微博机器人的方法
Mar 22 Javascript
仿vue-cli搭建属于自己的脚手架的方法步骤
Apr 17 Javascript
bootstrap中的导航条实例代码详解
May 20 Javascript
Vue 实现一个命令式弹窗组件功能
Sep 25 Javascript
layui 阻止图片上传的实例(before方法)
Sep 26 Javascript
vue setInterval 定时器失效的解决方式
Jul 30 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 Zip压缩 在线对文件进行压缩的函数
2010/05/26 PHP
浅谈php7的重大新特性
2015/10/23 PHP
前端必学之PHP语法基础
2016/01/01 PHP
thinkphp框架类库扩展操作示例
2019/11/26 PHP
JavaScript 全角转半角部分
2009/10/28 Javascript
javascript模拟地球旋转效果代码实例
2013/12/02 Javascript
JQuery $.each遍历JavaScript数组对象实例
2014/09/01 Javascript
基于JavaScript实现右键菜单和拖拽功能
2016/11/28 Javascript
bootstrap警告框示例代码分享
2017/05/17 Javascript
vue-resouce设置请求头的三种方法
2017/09/12 Javascript
springmvc接收jquery提交的数组数据代码分享
2017/10/28 jQuery
vue登录注册及token验证实现代码
2017/12/14 Javascript
基于$.ajax()方法从服务器获取json数据的几种方式总结
2018/01/31 Javascript
jQuery实现的鼠标响应缓冲动画效果示例
2018/02/13 jQuery
vue组件详解之使用slot分发内容
2018/04/09 Javascript
详解webpack-dev-server 设置反向代理解决跨域问题
2018/04/18 Javascript
vue自定v-model实现表单数据双向绑定问题
2018/09/03 Javascript
详解js删除数组中的指定元素
2018/10/31 Javascript
vue中tab选项卡的实现思路
2018/11/25 Javascript
vue两组件间值传递 $router.push实现方法
2019/05/15 Javascript
基于vue 实现表单中password输入的显示与隐藏功能
2019/07/19 Javascript
vant-ui组件调用Dialog弹窗异步关闭操作
2020/11/04 Javascript
[50:45]2018DOTA2亚洲邀请赛 4.6 淘汰赛 VP vs TNC 第一场
2018/04/10 DOTA
Python求解平方根的方法
2015/03/11 Python
Python读取一个目录下所有目录和文件的方法
2016/07/15 Python
利用python实现xml与数据库读取转换的方法
2017/06/17 Python
python查询文件夹下excel的sheet名代码实例
2019/04/02 Python
使用Python在Windows下获取USB PID&VID的方法
2019/07/02 Python
python多进程并行代码实例
2019/09/30 Python
python 中Arduino串口传输数据到电脑并保存至excel表格
2019/10/14 Python
爱尔兰家电数码商城:Currys PC World爱尔兰
2016/07/23 全球购物
骆驼官方商城:CAMEL
2016/11/22 全球购物
AURALog面试题软件测试方面
2013/10/22 面试题
《十六年前的回忆》教学反思
2014/02/14 职场文书
公司晚会主持词
2014/03/22 职场文书
艺术设计专业求职自荐信
2014/05/19 职场文书