在保存/更新记录之后,ExtJs rowediting grid combo过滤器不起作用

时间:2015-03-19 06:55:54

标签: extjs combobox grid extjs4 roweditor

我有划线网格,网格有两个组合和两个文本字段。

在组合框中键入某个字符时,组合框会从下拉列表中过滤出类型字 选择该过滤器值并形成组合并正确保存记录确定和网格视图记录 下一个 - - 之后选择其中一个网格记录并开始编辑该记录。在组合框中键入一些字符,但该组合不会过滤该字体形式下拉列表。

注意:保存/更新记录后发生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 function

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);


        }
    }

});  

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

1 个答案:

答案 0 :(得分:1)

同样的故事,兄弟。

我从2011年开始积极使用ExtJS 4和RowEditing,它始终有效,直到今天我发现了这个bug。 在我调试之前我甚至无法谷歌它,并找到了clearFilter()的解决方法:

bins = [-1,4,9,17,21]
labels = ['Night', 'Morning','Afternoon','Evening','Night']
df['bin1']  = np.array(labels)[np.array(bins).searchsorted(hours)-1]                     
print (df)
                  Date        bin       bin1
0  2017-04-03 00:00:00      Night      Night
1  2017-04-03 01:00:00      Night      Night
2  2017-04-03 02:00:00      Night      Night
3  2017-04-03 03:00:00      Night      Night
4  2017-04-03 04:00:00      Night      Night
5  2017-04-03 05:00:00    Morning    Morning
6  2017-04-03 06:00:00    Morning    Morning
7  2017-04-03 07:00:00    Morning    Morning
8  2017-04-03 08:00:00    Morning    Morning
9  2017-04-03 09:00:00    Morning    Morning
10 2017-04-03 10:00:00  Afternoon  Afternoon
11 2017-04-03 11:00:00  Afternoon  Afternoon
12 2017-04-03 12:00:00  Afternoon  Afternoon
13 2017-04-03 13:00:00  Afternoon  Afternoon
14 2017-04-03 14:00:00  Afternoon  Afternoon
15 2017-04-03 15:00:00  Afternoon  Afternoon
16 2017-04-03 16:00:00  Afternoon  Afternoon
17 2017-04-03 17:00:00  Afternoon  Afternoon
18 2017-04-03 18:00:00    Evening    Evening
19 2017-04-03 19:00:00    Evening    Evening
20 2017-04-03 20:00:00    Evening    Evening
21 2017-04-03 21:00:00    Evening    Evening
22 2017-04-03 22:00:00      Night      Night
23 2017-04-03 23:00:00      Night      Night