`

extjs表格编辑、EditorGridPanel

阅读更多

EditorGridPanel连接后台数据库做更新操作.对于EditGridPanel编辑修改数据后更新到数据库的实现,通常有两种策略: 1.一种是监听EditorGridPanel的afteredit,每一次编辑表格后,都会触发该事件,在事件处理函数中运用Ajax将修改的数据更新到数据库; 2.建立单独的保存处理函数,提供一个保存按钮,所有编辑完成后,由用户点击触发,一次性将所有编辑改动的数据更新到数据库;
第一步:给EditorGridPanel添加afteredit事件处理代码
 //给EditorGridPanel添加afteredit事件处理代码
 gridPanel.on("afteredit",function(obj){
  
 });

 

第二步:分析obj参数
可以看出,afteredit事件处理函数只有一个参数,是一个对象(Object e),通过这个对象,我们可以得到: 1.grid,即刚才编辑的表格对象 2.record,刚才编辑的记录 3.field,刚才编辑的是哪个字段 4.value,单元格中改动后的值 5.originalValue,单元格中改动前的值 6.row,刚才编辑的单元格在grid中的行索引位置 7.column,刚才编辑的单元格在grid中的列索引位置
 //给EditorGridPanel添加afteredit事件处理代码
 gridPanel.on("afteredit",function(obj){
  alert(obj.record.get("id"));
  alert(obj.field);
  alert(obj.value);
  alert(obj.originalValue);
  alert(obj.row);
  alert(obj.column);
 });

 

第三步:发送异步请求。
//给EditorGridPanel添加afteredit事件处理代码
 gridPanel.on("afteredit",function(obj){
  var id = obj.record.get("id");
  var field = obj.field;
  var value = obj.value;
  //发送异步请求
  Ext.Ajax.request({
   url:"updateUser.action",
   method:"post",
   params:{
    id:id,
    field:field,
    value:value
   },
   success:function(result){
    var jsonStr = Ext.util.JSON.decode(result.responseText)
    Ext.MessageBox.alert("成功",jsonStr.msg);
   },
   failure:function(result){
    var jsonStr = Ext.util.JSON.decode(result.responseText)
    Ext.MessageBox.alert("失败",jsonStr.msg);
   }
  })
 });

 

第四步:Action操作

第五步:完成更新功能
1.修改成功后记录进行提交
   success:function(result){
    var jsonStr = Ext.util.JSON.decode(result.responseText)
    Ext.MessageBox.alert("成功",jsonStr.msg);
    obj.record.commit();
   },

2.修改失败后回滚
   failure:function(result){
    var jsonStr = Ext.util.JSON.decode(result.responseText)
    Ext.MessageBox.alert("失败",jsonStr.msg);
    obj.record.reject();
   }

分享到:
评论

相关推荐

    extjs表格、树控件

    ### ExtJS表格、树控件知识点详解 #### 表格控件 ##### 1.1 基本表格 `GridPanel` 在ExtJS框架中,`GridPanel` 是实现表格功能的核心组件,它继承自 `Panel` 类,具有丰富的功能如排序、缓存、拖拽列、隐藏列、...

    Extjs EditorGridPanel中ComboBox列的显示问题

    在EXTJS中,EditorGridPanel是一种可编辑的表格组件,它允许用户直接在表格单元格内编辑数据。然而,当在EditorGridPanel中嵌入ComboBox(下拉选择框)作为编辑器时,可能会遇到一个问题,即ComboBox显示的不是其...

    给Extjs的GridPanel增加“合计”行

    在EXTJS中,GridPanel是一种常用的组件,用于展示表格数据。在实际应用中,我们经常需要在GridPanel底部显示一行“合计”行,以便对某一列或多列的数据进行求和或其他统计操作。这篇博文“给Extjs的GridPanel增加...

    EXTJS讲解个人项目经历

    - **控件(widgets)**:EXTJS提供了大量的可视化组件,如面板、表格、树、窗口等,它们都基于底层API构建。 - **实用工具(Utils)**:EXTJS提供了各种实用工具,如数据处理、JSON操作、Ajax请求、日期和数组管理...

    extjs 导入导出 Exel

    文件"Extjs利用服务器实现Excel数据导入editorgridpanel中显示_寒冰_新浪博客.mht"可能讲解了如何将Excel 文件的数据导入到EXTJS 的EditorGridPanel 中。导入过程一般包括: 1. 用户上传Excel 文件,EXTJS 通过...

    ExtJS 2.0实用简明教程

    22)可编辑表格EditorGridPanel 23)窗口基本应用 24)窗口分组 25)对话框 26)与服务器交互 27)Record 28)Store 29)TreePanel基本使用 30)使用树控件TreeNode 31)使用树控件TreeLoader 32)自定义TreeLoader

    extjs扩展标记

    - **EditorGridPanel**:在GridPanel的基础上增加了单元格编辑功能,可以直接在表格中修改数据。 - **TabPanel**:用于组织多个视图,每个视图都可以在一个标签页中展示。 - **FormPanel**:用于创建各种表单...

    ExtJS.in.Action

    第七章“The venerable GridPanel”深入分析了GridPanel组件的使用技巧,这是一种非常常见的用于展示大量数据的表格组件。第八章“The Editor Grid Panel”介绍了Editor Grid Panel的高级功能,这种组件不仅能够显示...

    extjs xtype

    10. `editorgrid` - `Ext.grid.EditorGridPanel`:可编辑的表格,允许用户直接在表格中修改数据。 11. `grid` - `Ext.grid.GridPanel`:标准的表格组件,用于展示数据。 12. `paging` - `Ext.PagingToolbar`:分页...

    Extjs in action

    - **编辑网格面板**:进一步探讨了`EditorGridPanel`,这是一种可以编辑表格数据的增强型网格面板。 - **数据视图和列表视图**:介绍了`DataView`和`ListView`组件,它们适用于显示大量数据。 - **图表组件**:讲解...

    ExtJS2.0实用简明教程

    **八、可编辑表格EditorGridPanel** `EditorGridPanel`是GridPanel的一个扩展,它允许用户直接在表格单元格内编辑数据。这对于数据录入和管理非常有用,可以结合各种编辑器实现复杂的数据输入需求。 **九、Ext类库...

    ExtJs2.0简明教程

    #### 7.2 可编辑的表格EditorGridPanel EditorGridPanel是一种特殊的GridPanel,它允许用户直接在表格中编辑数据。这对于需要频繁更新数据的应用来说非常方便。 #### 7.3 与服务器交互 ExtJS提供了强大的数据处理...

    ExtJS增删改查

    在ExtJS框架中,Grid是一个非常关键的组件,主要用于展示表格数据,并支持数据的增删改查等基本操作。对于大多数Web应用程序而言,这种功能几乎是不可或缺的。下面我们将详细介绍如何使用ExtJS来实现这些功能。 ###...

    Extjs简名教程.pdf

    - **可编辑的表格EditorGridPanel**: - 在GridPanel的基础上增加了编辑功能。 - 用户可以直接在表格中编辑数据。 - **与服务器交互**: - ExtJS提供了方便的方法来处理客户端与服务器之间的数据交换。 - 通常...

    extjs3连接mysql数据库实现增删查改功能

    你还可以添加编辑功能,例如使用`Ext.grid.EditorGridPanel`,使得用户可以直接在表格内编辑数据。 6. **表单组件(Form)**: 创建`Ext.form.FormPanel`用于输入和编辑数据。配置`fields`为你的数据模型,`url`为...

    extjs的快速入门教程

    - **可编辑的表格(EditorGridPanel)**: - 在表格的基础上增加了编辑功能,用户可以直接修改数据。 #### 七、与服务器交互 - **数据存储(Store)**: - 存储和管理数据集,支持本地数据和远程数据加载。 - **...

    ExtJs组件类的对应表

    11. **`editorgrid`** - `Ext.grid.EditorGridPanel`,可编辑的表格组件,允许用户直接在表格中编辑数据。 12. **`propertygrid`** - `Ext.grid.PropertyGrid`,属性表格组件,用于展示对象的属性。 13. **`...

    extjs培训2011-12-17

    - `editorgrid`: `Ext.grid.EditorGridPanel` — 可编辑的表格。 - `grid`: `Ext.grid.GridPanel` — 表格。 - `panel`: `Ext.Panel` — 面板。 - `progressbar`: `Ext.ProgressBar` — 进度条。 - `splitbutton`: `...

    extJs xtype 类型

    11. **`editorgrid`:** 可编辑的表格组件,允许用户直接在表格中编辑数据,通过`Ext.grid.EditorGridPanel`类实现。 12. **`propertygrid`:** 属性表格组件,用于展示对象的属性列表,通过`Ext.grid.PropertyGrid`...

    ExtJS基础教程.pdf

    4. **表格类**:包括网格面板(GridPanel)、编辑网格面板(EditorGridPanel)、属性网格(PropertyGrid)、视图(View)、分组视图(GroupingView)、列模型(ColumnModel)和选择模型(SelectionModel),支持复杂的数据展示和...

Global site tag (gtag.js) - Google Analytics