ExtJS4.2动态创建GridPanel工具栏教程
5星 · 超过95%的资源 需积分: 12 174 浏览量
更新于2024-09-13
收藏 52KB DOC 举报
"这篇文档介绍了如何在ExtJS 4.2框架中动态生成一个包含按钮和查询条件的工具栏,特别是在gridPanel中的应用。通过示例代码,展示了如何在视图层和 Toolbar.js 文件中设置组件,并从后台获取数据来构建工具栏。"
在ExtJS 4.2中,动态生成工具栏是一项常见的需求,特别是对于需要根据用户权限或特定场景显示不同功能的界面。在上述例子中,我们看到如何在gridPanel中实现这一功能。首先,我们需要在视图层设置dockedItems属性,这允许我们在组件的顶部或底部添加附加元素,如工具栏和分页栏。
```javascript
this.dockedItems = [
{ xtype: Ext.create('Ext.zc.grid.Toolbar',{//工具栏, url: zc.bp()+'/system/tuser!getToolbar.action' }),
},
{ xtype: 'pagingtoolbar',//分页栏
dock: 'bottom',
displayInfo: true,
store: this.store
}
];
```
在上述代码中,我们创建了一个新的`Ext.zc.grid.Toolbar`实例,它继承自`Ext.toolbar.Toolbar`,并指定了获取工具栏数据的URL。同时,还定义了一个分页栏,用于显示数据的页码信息。
接下来,我们深入到`Toolbar.js`文件,这是一个自定义的工具栏组件。在这个文件中,我们监听了`render`事件,当工具栏渲染完成后,会发送一个Ajax请求到指定的URL获取工具栏的配置数据。
```javascript
listeners: {
render: function(view, eOpts) {
var url = view.url;
Ext.Ajax.request({
url: url,
success: function(response, options) {
var text = response.responseText;
var data = Ext.JSON.decode(text).data;
Ext.each(data, function(item) {
var xtype = item.xtype;
if (xtype == 'text') {
view.add(item.text);
} else {
view.add(item);
}
});
}
});
}
}
```
在`success`回调函数中,我们解析服务器返回的JSON数据,然后遍历每个条目,如果条目类型是`text`,则将其作为文本添加到工具栏;否则,直接将整个条目添加到工具栏。这样,我们就能根据后端返回的数据动态构建工具栏,包括按钮和其他组件。
最后,提到了在后台调用创建工具栏的方法,这个方法应该负责生成用于构建工具栏的JSON数据,但具体的实现没有在此给出。通常,这个方法会根据用户权限或其他业务逻辑生成相应的工具栏配置。
总结来说,这个例子展示了如何在ExtJS 4.2中利用组件系统和异步数据交互动态生成工具栏,使得开发人员能够灵活地控制界面的功能展示。这种做法提高了代码的可维护性和适应性,同时也降低了前端与后端之间的耦合度。
2018-12-01 上传
127 浏览量
702 浏览量
2018-04-12 上传
135 浏览量
2015-06-20 上传
2013-10-31 上传
襄阳人漂泊
- 粉丝: 5
- 资源: 25
最新资源
- 火炬连体网络在MNIST的2D嵌入实现示例
- Angular插件增强Application Insights JavaScript SDK功能
- 实时三维重建:InfiniTAM的ros驱动应用
- Spring与Mybatis整合的配置与实践
- Vozy前端技术测试深入体验与模板参考
- React应用实现语音转文字功能介绍
- PHPMailer-6.6.4: PHP邮件收发类库的详细介绍
- Felineboard:为猫主人设计的交互式仪表板
- PGRFileManager:功能强大的开源Ajax文件管理器
- Pytest-Html定制测试报告与源代码封装教程
- Angular开发与部署指南:从创建到测试
- BASIC-BINARY-IPC系统:进程间通信的非阻塞接口
- LTK3D: Common Lisp中的基础3D图形实现
- Timer-Counter-Lister:官方源代码及更新发布
- Galaxia REST API:面向地球问题的解决方案
- Node.js模块:随机动物实例教程与源码解析