1

我在 Ext 4.2.1 中有一个 MVC 应用程序,我正在使用重新配置创建一个动态网格。它运作良好,但我坚持如何使用 Ext.ux.grid.FiltersFeature 向网格添加过滤器。我见过的所有例子都是硬编码的。

在我的情况下,我的商店和网格列在用户做出选择之前都是未知的。然后,我使用以下函数在 for 循环中即时构建它:

    onBuildGrid: function() {

        var store = this.getStore('Keys');
        var grid = this.getIndexGrid();
        var rvabrep = this.getStore('Rvabreps');

        var columnModel = [];
        var fields = [];
        var triggerFn = function() {
            this.setValue('');
            var store = this.up('tablepanel').store;
            store.clearFilter();
        };

        for (i = 0; i < store.data.items.length; i++) {
        dataIndex = store.data.items[i].data.IDX;
        text = store.data.items[i].data.IDXDESC;

        columnModel.push({
            text: text,
            dataIndex: dataIndex,

        });
        fields.push({
            name: dataIndex
        });
    }

    rvabrep.model.setFields(fields);
    grid.reconfigure(rvabrep, columnModel);

在推送函数中,我需要添加以下代码,但无法弄清楚如何在函数内为 keyup 侦听器获取变量。OnTriggerClick 函数有效,但很容易将其作为变量,因为它是静态的。

我想我可以对 keyup 功能使用相同的技术,只要我能弄清楚如何去做。

我需要一个 javascript 天才来拯救我!!!谢谢!

       items: {
            xtype: 'trigger',
            triggerCls: 'x-form-clear-trigger', 
            onTriggerClick: triggerFn
            flex : 1,
            margin: 2,
            enableKeyEvents: true,
            listeners: {
                keyup: function() {
                    var store = this.up('tablepanel').store;
                    store.clearFilter();
                    if (this.value) {
                        store.filter({
                            //property needs to be the variable "dataindex"
                            property      : ?this_needs_to_be_a variable?
                            value         : this.value,
                            anyMatch      : false,
                            caseSensitive : false
                        });
                    }
                },
                buffer: 500
            }
        }
4

1 回答 1

0

你能做这样的事情而不是让它成为一个变量吗?

this.up("gridcolumn").dataIndex;
于 2013-09-09T17:32:37.617 回答