Ext动态加载Toolbar
在使用Ext的GridPanel时候,有时候需要面板不用重新加载而去更新Store或者Toolbar,Store的方法有很多,例如官方api给我们提供的Store.load(),Store.reLoad(),等方法都可以对数据进行重新加载,在这篇博文中,主要来阐述如何动态加载Toolbar。
实现动态的加载Toolbar,首先必须知道,Toolbar是加载在panel上的,可以根据,重新加载Panel来进行增加,但是,不管是对于性能或者是代码的维护上来说,这种方式肯定都是不可取的。
接下来进入正题,实现Toolbar的动态加载,在官方的文档中建立一个Toolbar给出了如下的方法:
Ext.create('Ext.toolbar.Toolbar', {
renderTo: document.body,
width : ,
items: [
{
// xtype: 'button', // 默认的工具栏类型
text: '按钮'
},
{
xtype: 'splitbutton',
text : '分割按钮'
},
// 使用右对齐容器
'->', // 等同 { xtype: 'tbfill' }
{
xtype : 'textfield',
name : 'field1',
emptyText: '输入搜索词'
},
// 添加工具栏项之间的垂直分隔条
'-', // 等同 {xtype: 'tbseparator'} 创建 Ext.toolbar.Separator
'text 1', // 等同 {xtype: 'tbtext', text: 'text1'} 创建 Ext.toolbar.TextItem
{ xtype: 'tbspacer' },// 等同 ' ' 创建 Ext.toolbar.Spacer
'text 2',
{ xtype: 'tbspacer', width: }, // 添加一个50像素的空格
'text 3'
]
});
根据上面的代码我们可以很快速的建立一个Toolbar,我们在上面的代码中应主要关注一下items属性,接下来就把上面的代码进行一些改变。
var A = {text: 'A', handler: func1};
var B = {text: 'B', handler: func2};
var C = {text: 'C', handler: func3};
var D = {text: 'D', handler: func4};
var E = {text: 'E', handler: func5};
var toolbar = Ext.create('Ext.toolbar.Toolbar', {
autoShow:true,
items: [
A,B,C,D,E
]
});
在上述的代码中,text的值为我们的按钮,其中具体的方法在handler中,变量toolbar共加载了5个按钮ABCDE。
用一个方法举例,当点击A按钮后出发func1函数,函数代码如下:
function findNotProcessed() {
toolbar.removeAll(); //清除所有按钮
toolbar.add([C,D,E]);//添加CDE按钮
store.load();//重新加载,要是数据没有变化可不要这一步骤
}
Ext动态加载Toolbar的更多相关文章
- Ext JS学习第十天 Ext基础之动态加载JS文件(补充)
此文用来记录学习笔记: •Ext4.x版本提供的一大亮点就是Ext.Loader这个类的动态加载机制!只要遵循路径规范,即可动态加载js文件,方便把自己扩展组件动态加载进来,并且减轻浏览器的压力. • ...
- Ext JS 如何动态加载JavaScript创建窗体
JavaScript不需要编译即可运行,这让JavaScript构建的应用程序可以变得很灵活.我们可以根据需要动态从服务器加载JavaScript脚本来创建和控制UI来与用户交互.下面结合Ext JS ...
- Extjs-树 Ext.tree.TreePanel 动态加载数据
先上效果图 1.说明Ext.tree.Panel 控件是树形控件,大家知道树形结构在软件开发过程中的应用是很广泛的,树形控件的数据有本地数据.服务器端返回的数据两种.对于本地数据的加载,在extjs的 ...
- 关于实现Extjs动态加载类的方式实现
Extjs4以前的版本没有动态加载类的方式,这样开发程序的时候加载很多的js会导致加载变慢,由于本人一直使用extjs3的版本进行开发,于是简单实现了一个动态加载类的管理器,使用方式与extjs4的方 ...
- ExtJs 4.2.1 复选框数据项动态加载(更新一下)
最近在做博客项目,后台管理用的是ExtJs4.2.1版本,因为是初学所以在使用的时候也遇到不少的这样或那样的问题,也写了不少这方面的博客,今天要写的博客是关于复选框数据项动态的加载功能,以前也没用过, ...
- ExtJS4 动态加载
由于有人说不要每次都调用ext-all.js,会影响性能,所以有考虑动态加载,动态加载时页面调用ext.js(4.0.7在调试时可考虑用ext-dev.js),然后在onReady之前调用 Ext.L ...
- ExtJs中动态加载机制研究(转)
觉得写的太好了,怕弄丢了,转一下:http://extjs.org.cn/node/659 昨天我们team对于extjs的动态加载机制做了些深入研究,这里先share下controller加载的结果 ...
- ExtJS4.x动态加载js文件
动态加载js文件是ext4.x的一个新特性,可以有效的减少浏览器的压力,提高渲染速度.如动态加载自定义组件 1.在js/extjs/ux目录下,建立自定义组件的js文件. 2.编写MyWindow.j ...
- Java的动态加载及其安全性问题
1.什么是动态加载 Class Loaders是动态加载Java类与Resource的一种机制.它支持Laziness,type-safe linkage,user-defined extensibi ...
随机推荐
- C# Linq排序
今天在家看了一下linq,实践了一下书中代码,发现排序和查重的先后顺序太重要了. using System; using System.Collections.Generic; using Syste ...
- 阅读微信支付demo收获
1,公司现有系统有很多,存放重要接口的日志分布在不同的库,每个系统都有单独的日志采集表,日志采集模块: ???? 这些日志可以统一放到一个地方,通过一个组件提供出去 ...
- php:ci学习笔记1
ci下载的开发包: phpstudy的部署: phpstudy的根目录是:D:\WWW 新建目录 cms 把ci开发包的application system index.php lic ...
- spider RPC插件化体系
为了满足灵活扩展的需要,spider支持灵活的自定义插件扩展,从功能上来说,插件和过滤器的差别在于过滤器不会阻止请求的执行同时对于主程序不会有API上的影响(比如servlet 过滤器和监听器)(最多 ...
- atom配置web开发环境
1. 安装包 1.1 apm命令 自带apm ,没有菜单栏找install shell commands apm全称:atom package management apm installl [包的名 ...
- getting started with transformjs
Introduction In the past two years, more and more friends for mobile web development have used the t ...
- Xming + PuTTY 在Windows下远程Linux主机使用图形界面的程序
安装X Window yum groupinstall 'X Window System'
- 【代码笔记】iOS-获得现在的日期
一,代码. - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, ...
- 使用gulp解决外部编辑器修改Eclipse文件延迟更新的问题
本人前端用惯了Hbuilder,修改了eclipse项目中的文件后,由于是外部编辑器修改过的,eclipse不会自动部署更新,一般按F5刷新项目,或者在 preferences > genera ...
- 在VMware上安装VMTools
1. 什么是VMtools VM tools顾名思义就是Vmware的一组工具(关于如何在虚拟机上安装Linux,可以参考我之前的博文:http://www.cnblogs.com/libingbin ...