在Ext JS中选中/取消选中列标题菜单过滤器复选框时触发事件

时间:2019-06-13 14:49:00

标签: javascript extjs extjs5

我目前无法访问列标题菜单xtype(因为它没有公开?),因此,我无法向其添加侦听器以捕获checkchange事件。

            {
                xtype: 'gridcolumn',
                id: 'stagesEnteredQueue',
                align: 'center',
                dataIndex: 'enteredQueue',
                text: 'Entered Queue',
                format: 'd/m/Y',
                filter: {
                    type: 'datetime',
                    format: 'd/m/Y',
                },
                renderer: function (val, metaData, record) {
                    val = Ext.Date.format(val, 'd/m/Y, H:i:s');
                    return val;
                },
                minWidth: 150,
                flex: 1
            }

如何在列标题过滤器菜单上捕获检查/取消选中事件?由于我的应用程序的业务规则,需要对其自动执行的商店过滤器进行更改。

enter image description here

2 个答案:

答案 0 :(得分:0)

gridpanel中有一个filterchange事件。 您可以在此处阅读文档: https://docs.sencha.com/extjs/6.5.3/classic/Ext.grid.Panel.html#event-filterchange

答案 1 :(得分:0)

If you are working in 6.5 then user below listeners 
 listeners:{
            filteractivate:function( this, column, eOpts ) {
                //TODO indetify by column
            },
             filterdeactivate:function( this, column, eOpts ) {
                //TODO indetify by column
            }
        }

Note: Add a listener on the grid, not on the column.
Source https://docs.sencha.com/extjs/6.5.3/classic/src/Base.js-10.html#Ext.panel.Table-event-filteractivate