0

我真的很难理解或更正确的说法是 - 在我的任何商店上使用过滤器并将信息加载到网格中。我有一个更复杂的任务,但是为了理解事情是如何工作的,我决定尽可能使用最简单的例子来看看事情是如何发生的,然后添加更多的逻辑,这样我就可以磨练我的知识了。但是我仍然没有得到任何令人鼓舞的结果,所以我再次寻求帮助。

我的模型中有一个 gridPanel,它使用他自己的商店,在这种情况下:

“记录列表存储”

我有

xtype:组合;

看起来像这样:

            xtype: 'combo',
            id: 'records_list_author_id',
            emptyText: 'Филтриране по автор',
            editable: false,
            store: 'Users',
            displayField: 'firstname',
            valueField: 'id',
            lastQuery: '',
                        triggerAction: 'all',
                        queryMode: 'remote',
                        typeAhead: false,
            width: 200,
            listeners: {
                          select: this._filterRecords
                   }

它使用它自己的商店来加载组合框中的数据,这些数据可以从用户那里选择。

第三部分,选择功能是:

_filterRecords: function()
    {
        var recStore =  Ext.getStore('FilterRecordsByAuthor');
        var a = Ext.getCmp('records_list_author_id').getValue( );
        var rec = Ext.getStore('FilterRecordsByForm').getAt(a);
        recStore.filters.clear();
            //recStore.load();
        recStore.filter([{
            "property":'form_id',
            "value": 1
                   }]);
        console.log(recStore.load());
    },

这是我认为用于获取过滤数据的第三个商店。问题是控制台日志显示我发送了过滤器,但每次我得到空结果。但是,如果一切正常,我认为它应该有一些信息,所以有错误或缺少某些东西,但我不知道应该做什么。

4

1 回答 1

1

getValue()组合框将为您提供组合框而不是商店中的索引的价值。所以在你得到这个值之后,你需要用类似的东西实际查找记录,store.findExact('some_field', value)并且只有在那之后才能getAt()使用你得到的索引。

于 2012-04-23T11:17:04.063 回答