在ExtJs4中,grid组件有Ext.grid.column.Action组件,所有要增加操作列,只需指定列的xtype为actioncolumn即可,例如:
Ext.create('Ext.grid.Panel', { renderTo: Ext.getBody(), width: 500, height: 400, store: Ext.create('Ext.data.Store', { fields: ['id', 'name'], data: [ {id: '1', name: '张三'}, {id: '2', name: '李四'} ] }), columns: [ {text: '姓名', dataIndex: 'name', flex: 1}, { xtype: 'actioncolumn', text: '操作', width: 100, tdCls: 'action', items: [{ icon: 'images/edit.png', tooltip: '编辑', handler: function (grid, rowIndex, colIndex, node, e, record, rowEl) { // do something... } }, { icon: 'images/delete.png', tooltip: '删除', handler: function (grid, rowIndex, colIndex, node, e, record, rowEl) { // do something... } }] } ] });
但如果采用Ext MVC来编写的话,这样的写法就不太适合,要想把handler中的处理移到controller控制层里面去,就必须给handler绑定触发事件:
items:[{ action: 'edit', icon: 'images/edit.png', tooltip: '编辑', handler: function (grid, rowIndex, colIndex, node, e, record, rowEl) { this.fireEvent('itemclick', this, grid, rowIndex, colIndex, node, e, record, rowEl); } }, { action: 'delete', icon: 'images/delete.png', tooltip: '删除', handler: function (grid, rowIndex, colIndex, node, e, record, rowEl) { this.fireEvent('itemclick', this, grid, rowIndex, colIndex, node, e, record, rowEl); } }]
在controller控制层中,在来编写itemclick的事件:
init: function () { this.control({ 'grid actioncolumn': { itemclick: this.actionBtnEvent } }) }, actionBtnEvent: function (column, grid, rowIndex, colIndex, node, e, record, rowEl) { if (node.action == 'edit') { // do something... } else if (node.action == 'delete') { // do something... } }
相关推荐
在ExtJS中,"按钮列"(Button Column)是一种特殊的列类型,常用于表格面板,允许用户在每一行数据的特定列上执行操作。 标题提到的"ExtJS文字按钮列"是指在ExtJS表格中添加一列,该列包含的是文字按钮而非图片按钮...
10. **拖放功能**:EXTJS4支持拖放操作,用户可以轻松实现组件间的拖放行为,如在数据网格中的行排序。 11. **国际化支持**:EXTJS4内置了多语言支持,方便开发多语言版本的应用。 12. **响应式设计**:EXTJS4的...
ExtJS 4的Button组件还提供了一系列方法来控制和操作按钮的状态和行为,包括但不限于: - **enable()**:启用按钮,使其可被点击。 - **disable()**:禁用按钮,防止用户进行任何操作。 - **destroy()**:销毁按钮...
2. **定义删除行为**:为Grid添加一个删除按钮或右键菜单,绑定删除操作。在触发删除事件时,获取选中的行或记录ID。 3. **发送删除请求**:利用Ext.Ajax或Ext.data.Store的`remove`方法,传入要删除的记录,然后...
这篇博文“给Extjs的GridPanel增加‘合计’行”将指导我们如何实现这一功能。 首先,我们需要理解EXTJS的GridPanel结构。GridPanel由Store(数据存储)、ColumnModel(列模型)和View(视图)等主要部分组成。在...
在 ExtJS3 中,我们可以使用 Ext.extend 来定义类,而在 ExtJS4 中,我们需要使用 Ext.define 来定义类。例如,在 ExtJS3 中,我们可以使用以下代码来定义一个类: ```javascript Ext.ux.PostStore = Ext.extend...
ExtJs 4 API 中文
本文将深入探讨如何在ExtJS的`resultGrids`中动态添加按钮,并结合`SuserInfoRes_js.jsp`文件名称推测可能的实现方法。 动态添加按钮在很多情况下非常有用,比如在表格数据加载后根据特定条件显示或隐藏操作按钮,...
在给定的"Extjs4 grid使用例子"中,我们可以深入理解如何在MVC架构下有效地利用ExtJS4的Grid组件。Grid组件是ExtJS中的核心部分,它提供了一个灵活的、可定制的数据展示网格,通常用于显示和操作大量数据。 1. **...
在“extjs最简单的数据绑定和修改”这个主题中,我们将探讨如何在ExtJS中实现数据的双向绑定以及如何进行数据的修改。 1. 数据模型(Model): 在ExtJS中,数据模型定义了数据对象的结构和属性。创建一个模型类,...
2. **按钮(Button)的用法**:`EXTjs button用法.doc`将详细介绍如何创建和使用ExtJS 4的按钮组件,包括设置按钮文本、图标、事件监听器以及使用不同类型的按钮,如工具栏按钮、菜单按钮等。 3. **表单(Form)...
1. **创建uploadPanel**:在ExtJS4中定义一个面板,包含文件选择输入框、上传按钮和其他控件。 2. **集成swfupload**:引入swfupload库,配置相关参数,如文件类型、最大上传大小等。 3. **事件监听**:设置事件监听...
EXTJS4的学习文档还包括更多关于组件、布局、数据绑定、事件处理等方面的详细内容,这些都是构建EXTJS应用不可或缺的知识。通过深入学习和实践,开发者可以熟练掌握EXTJS4,创建功能丰富的Web应用程序。
在这个场景中,我们将深入探讨如何在Ext JS中重写Panel并为其添加click事件。 首先,理解Panel的基本结构是至关重要的。一个Panel由多个部分组成,包括头部(header)、主体(body)和脚部(footer)。我们可以通过...
ExtJS Grid是一个强大的数据展示组件,它允许用户以表格的形式查看和操作大量数据。在实际应用中,数据过滤是常见的需求,以便用户能快速定位到感兴趣的信息。本篇将深入探讨ExtJS Grid的过滤操作,以及如何动态地对...
在ExtJS中,API涵盖了所有可用的组件、布局、数据绑定、事件处理等。 在ExtJS 3.0中,核心知识点包括: 1. **组件系统**:ExtJS 3.0包含了大量的UI组件,如按钮(Button)、表格(Grid)、面板(Panel)、表单...
标题中的“extjs 数据导出到Excel,数据列自选”指的是使用EXTJS框架实现一个功能,让用户能够从Web应用中选择需要的数据列,并将这些选定的数据导出为Excel文件。EXTJS是一个强大的JavaScript库,专门用于构建富...
4.此组件继承的是Ext.Panel,而不是Button,所以此组件并没有所有Ext.Button的功能但是拥有所有Ext.Panel功能并新增了点击事件(使用规范请参照js附件的onReady函数)。本人现正在研究如何重写Ext.Button,如有所收获,...
"ExtJS3.2列布局"是这个框架中的一个重要概念,尤其在处理form表单时非常实用。 列布局(Column Layout)是ExtJS的一种布局策略,它允许你在同一行内创建多个并排显示的区域,每个区域可以包含不同的组件,如文本框...
这款图片浏览器利用了ExtJS4的组件化、数据绑定和事件处理等特性,为用户提供了一个交互性强、功能丰富的图片浏览体验。 在实现这个图片浏览器的过程中,开发者可能使用了以下核心ExtJS4组件和技术: 1. **Panel...