2015-03-19 6 views
0

У меня есть сетка для гребли, у которой есть две комбо и два текстовых поля.Комбинированный фильтр сетки rowjiting ExtJs не работает после записи сохранения/обновления

когда тип некоторых символов на поле со списком, что комбинированное окно фильтра, что тип слова из выпадающего списка выбрать, что значение фильтра и формы комбо и не сохранять запись нормально подпоясавшись вид записи правильно СЛЕДУЮЩИЙ --- после этого выберите один из записи gird и начать редактировать этот record.type некоторый символ в поле со списком, но этот комбо не фильтрует этот раскрывающийся список слов типа.

примечание: это бывает clearFilter(true); последующий save/обновление запись. Если я удалить 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 обрабатывает эти магазины и их фильтры автоматически. –

+0

@LorenzMeyer, когда я не вижу комбо-магазин после сохранения сетки. grid only view last time filter result only only, почему я очищаю фильтры – user881703

+0

Я не могу сказать вам, что другое, но я удаляю фильтр только по сетке. Комбо управляются корректно с помощью ExtJs. –

ответ

1

Одинаковая история здесь, брат.

Я активно использую ExtJS 4 и RowEditing с 2011 года, он всегда работал, до сегодняшнего дня, когда я нашел эту ошибку. я даже не мог нагуглить, пока не отлажена и обнаружили обходной путь с 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); 
     } 
    }); 
}); 
Смежные вопросы