ExtJS处理2种情况下的数据编辑

来源:互联网 发布:刷话费软件 编辑:程序博客网 时间:2024/06/05 16:18

一、应用场景

使用ExtJS的GridPanel组件显示数据,编辑用户当前选择行的数据,分如下2种情形处理:

1.  GridPanel数据不自动刷新

2.  GridPanel数据定时自动刷新


二、实现方案

通常情况下,所谓编辑数据都是通过双击鼠标,弹出编辑对话框,修改数据,点击“确定”按钮,实现数据更新。

但是针对数据“定时自动刷新”和“不刷新”2种情况,实现编辑数据的方式略有不同。

1. GridPanel数据不自动刷新

在这种情况实现数据编辑,可以如下实现:

var record = form.getRecord();
record.set(form.getValues());
store.sync({
      success: function(form, action) {
            //TODO
      },
      failure: function(form, action) {
             //TODO
      }
});


2. GridPanel数据定时自动刷新

在这种情况在使用上述方式时无法实现对指定数据的编辑修改。

因为: 不断地定时刷新数据,即每一次刷新的结果对于store来说都是最新的,及时在编辑对话框中看到数据确实被修改了,但是点击“确定”按钮时,将不会发送任何请求。

此时,需要使用如下方式提交更新的数据:

form.submit({
    clientValidation: true | false
    url: ""
    method: "POST",
    success: function(form, action) {
            //TODO
    },
    failure: function(form, action) {
           //TODO
    }

});


因为在项目中遇到了这样的问题,备注之。


0 0