情况如下:。
1、gird数据加载后,选择一条记录(假设ID=1)修改,修改成功
2、grid 数据刷新
3、1)选择在第1步选择的记录(ID=1)进行修改,getUpdatedRecords()  返回为空。
   2)选择除第一次选择的记录(ID不等于1)时,getUpdatedRecords() 返回不为空比如1,2,3.1    getUpdatedRecords()  返回为空
或1,2,3.2      getUpdatedRecords() 返回不为空extjs4gridstore

解决方案 »

  1.   

    刷新grid,怎么刷新的,还有修改成功没有comit过吧
      

  2.   

    1、gird数据加载后,选择一条记录(假设ID=1)修改,修改成功
    2、grid 数据刷新(grid的store重新load)
      

  3.   

    store reload后状态已经被重置了1,2,3.2      getUpdatedRecords() 返回不为空 ,这个应该也会是空数组才对。还是发代码来看看好点
      

  4.   

    Ext.define('Wenjoy.controller.product.ProductType', {
        extend: 'Ext.app.Controller',
        stores: [
            'product.ProductType'
        ],
        models: [
            'product.ProductType'
        ],
        views:["product.ProductTypeList","product.ProductTypeEdit","product.ProductTypeDetail"],
    refs: [
         {ref:'appcenter', selector: '#appcenter'}
    ],
    onPanelRendered :function(panel){
         var me=this;
         me.grid=panel;
        },
        
        init: function(idstr) {
        
       var me = this, view = Ext.widget('producttypelistview',{id:idstr}), c = me
    .getAppcenter();    
         this.control({
         'producttypelistview': {
                    render: me.onPanelRendered
                },
         'producttypelistview button[action=productType.update]':{
         click:this.editProduct
         },
         'producttypeeditview button[action=save]':{
         click:this.updateProduct
         }
        
         });
        
         this.getProductProductTypeStore().addListener('write',this.finishedLoading, this);
        
         if (c != undefined) {
    c.add(view).show();
    }
        },
         getEditView:function(){
         var me=this,view= Ext.widget("producttypeeditview");
         return view;
        },
        editProduct:function(grid, record) {
         var me = this, rs = me.grid.getSelectionModel().getSelection();
    if (rs.length == 1) {
    rs = rs[0];
    var win = me.getEditView();
    /*win.setTitle("编辑菜单:" + rs.get("name"));*/
    win.down('form').loadRecord(rs);
    win.show();
    } else {
    Ext.Msg.alert("提示信息", "请选择一条记录进行编辑。");
    }
        
        },
        
        updateProduct:function(button) {
          var win    = button.up('window'),
                form   = win.down('form'),
                record = form.getRecord(),
                values = form.getValues(); form.updateRecord(record)
    if(record.dirty) {
    this.getProductProductTypeStore().update();
    } else {
    Ext.Msg.alert("提示信息", "您没有对本数据做修改。");
    }
            win.close();
        },
        finishedLoading:function(store, operation, eOpts ){
         var json = Ext.decode(operation.response.responseText);
         if (operation.action=='create' || operation.action=='update' ) {
         store.load();
         } 
         Ext.example.msg('提示',json.msg);
        }
    });