【问题标题】:How to overide extJS grid filter如何覆盖 extJS 网格过滤器
【发布时间】:2020-05-12 10:19:20
【问题描述】:

我正在创建一个使用 Grid 的新项目。

这是我的网格。

Ext.define('myProj.view.base.grid.myGrid', {
    extend: 'Ext.grid.Panel',
    alias: 'widget.myGrid',
    controller: 'myProj-controller-base-grid-myGridcontroller',
   requires: [
        "myProj.controller.base.grid.myGridcontroller",
        'Ext.grid.feature.Grouping',
        'Ext.grid.plugin.BufferedRenderer',
        'Ext.grid.filters.Filters',
    ],
    mixins: ['Deft.mixin.Injectable'],
    inject: ["gridStore"],
    config: {
        gridStore: null,
    },
    emptyText : "No data available",
    plugins: {
        gridfilters: true
    },
    overflowY: 'auto',
    width:'100%',
    stripeRows: false,
    columnLines: false,
    selModel: {
        selType: 'checkboxmodel',
        mode: 'SINGLE',
        allowDeselect: true
    },  
   initComponent: function () {
        let _this=this;
        Ext.apply(this, {
            store: this.getListGridStore(),
        });
        this.callParent(arguments);
    }
});

现在我想覆盖我的过滤器。我已经编写了我的覆盖代码,我正在寻找很多示例,但我不知道如何连接这两个代码。任何帮助都会很有用。

我想放在这里的覆盖代码如下所示。

Ext.override(Ext.grid.filters.filter.List, {
    createMenuItems: function (store) {
        debugger;
    }
});

【问题讨论】:

    标签: javascript extjs overriding extjs6


    【解决方案1】:

    我相信覆盖有效,但未调用 createMenuItems 函数。

    您是否为每列定义了过滤器?就像在here 显示的代码示例中一样。

    {
        dataIndex: 'rating',
        text: 'Rating',
        width: 75,
        filter: {
            type: 'list',
            value: 5
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2020-06-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-04
      • 2012-02-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多