2015-03-19 67 views
0

我有rowediting网格,网格有两个组合和两个文本字段。ExtJs rowediting网格组合过滤器保存/更新记录后不工作

当类型的组合框一些字符组合框过滤从下拉列表 该类型字选择筛选值和形式组合,并做保存记录确定正确 NEXT --- 后选择一个佩带浏览记录并开始编辑record.type组合框上的某个字符,但该组合框不会过滤该类型的单词表单下拉列表。

注意:保存/更新记录后发生clearFilter(true);。如果我删除clearFilter(true);网格视图组合筛选的结果只是为什么负载存储之前,我清晰过滤器数据

这是我的组合框格列

{ 
    xtype: 'gridcolumn', 
    itemId: 'colId', 
    width: 140, 
    dataIndex: 'ID', 
    menuDisabled: true, 
    text: 'Name', 
    editor: { 
     xtype: 'combobox', 
     id: 'cbold', 
     itemId: 'cbold', 
     name: 'CBO_ID', 
     allowBlank: false, 
     displayField: 'NAME', 
     queryMode: 'local', 
     store: 'Store', 
     valueField: 'FIELD_ID' 
    } 
}, 

这束腰RowRditing

  plugins: [ 
       Ext.create('Ext.grid.plugin.RowEditing', { 
        saveBtnText: 'Save', 
        pluginId: 'grdEditor', 
        autoCancel: false, 
        clicksToMoveEditor: 1, 
        listeners: { 
         edit: { 
          fn: me.onRowEditingEdit, 
          scope: me 
         } 
        } 
       }) 
      ], 

onRowEditingEdit功能

Ext.Ajax.request({ 
    url: 'url', 
    method: 'POST', 
    scope:this, 
    success : function(options, eOpts) { 
     var store  = Ext.getStore('GridStore'); 
     var grid = Ext.getCmp('gridFileLyt'); 

     cbo1Store = Ext.getStore('cbo1Store'); 
     cbo1Store.clearFilter(true); 
     cbo1Store.load(); 

     cbo2Store = Ext.getStore(cbo2Store); 
     cbo2Store..clearFilter(true); 
     fldStore.proxy.extraParams = { 
      '_ID': '' 
     }; 
     cbo2Store.load(); 

     if(response.success){ 
      Ext.Msg.alert('Success', response.msg); 

     } else { 

      Ext.Msg.alert('Failed', response.msg); 


     } 
    } 

}); 

我觉得我做了一些基本的错误,请帮助对我来说

+0

为什么你甚至在你的组合框店插手onRowEditingEdit功能?默认情况下,ExtJs会自动处理这些商店及其过滤器。 – 2015-03-21 08:17:15

+0

@LorenzMeyer当我没有清除网格保存后的组合商店。网格仅查看上次筛选结果只有为什么我清除筛选器 – user881703 2015-03-23 02:29:47

+0

我不能告诉你什么是不同的,但我只在网格上删除筛选器。组合由ExtJs正确管理。 – 2015-03-23 12:19:06

回答

1

同样的故事在这里,兄弟。

自2011年以来,我积极使用ExtJS 4和RowEditing,它一直在运行,直到今天我发现了这个错误。 我不能连谷歌它,直到我调试,发现一个解决方法与clearFilter():

rowEditingPlugin.on('beforeedit', function(editor, e) { 
    editor.editor.form.getFields().each(function(field){ 
     if (field instanceof Ext.form.field.ComboBox) { 
      field.store.clearFilter(true); 
     } 
    }); 
});