【问题标题】:cannot sort filtered grid panel (w/fiddle)无法对过滤后的网格面板进行排序(带小提琴)
【发布时间】:2015-11-08 08:25:10
【问题描述】:

我有一个 sencha fiddle 可以用来重现我在这里看到的问题:

https://fiddle.sencha.com/#fiddle/s2e

我看到的问题是,如果我通过单击 Bart、Marge 和 Homer 手动更改“名称”列上的过滤器,然后尝试对我在列中添加的过滤器进行排序节...

columns: [
    { 
        text      : 'Name',  
        dataIndex : 'name',
        filter   : { type: 'list', value : 'Lisa'}
    },

... 覆盖我通过 UI 手动做出的选择。或者换句话说,“如果我点击 Bart、Marge 和 Homer,它们会出现在网格面板中,直到我对行进行排序。当我对行进行排序时,只会显示 Lisa。”

这是一个错误还是我做错了什么?我不想认为这就是它的工作方式。

【问题讨论】:

  • 我会说这是一个错误。你可以用煎茶report it
  • 我记得看到this 这是几个版本之前的,但是你看过这个页面吗?
  • 似乎确实是一个错误。奇怪的是,我在网格中过滤过滤器的方式受到排序器的尊重:fiddle.sencha.com/#fiddle/qr6
  • 是的,看起来很奇怪。如果初始化值对您来说无关紧要,只需在此处删除 value 属性:filter: {type: 'list'} 它将按预期工作。

标签: javascript extjs


【解决方案1】:

该列正在排除与value: 'Lisa' 不匹配的值 正如@afschr 上面所说的 - 删除该值,param 将具有此功能。

filter   : { type: 'list'}

【讨论】:

    【解决方案2】:

    这可能是一个错误。当然,您可以像 Akin 所说的那样更改您的过滤器。但是,如果您出于某些原因不想更改该过滤器,也有一种解决方法。您可以在排序完成后停止排序事件,这样过滤器就不会重置为您设置的默认过滤器 ( filter: { type: 'list', value : 'Lisa'} )。

    为此,您需要更改视图文件夹中的 主网格面板,并向其添加“sortchange”侦听器,如下所示:

    Ext.define('MVC.view.Master', {
        extend : 'Ext.grid.Panel',
        xtype  : 'mvc-MasterView',
    
        title : 'Master Panel',
    
        store : 'People',
        plugins: 'gridfilters',
        selModel: {
            cellSelect: false,
            type: 'spreadsheet'
        },
    
        // The code you should add.
        listeners: {
            sortChange: function() {
                this.stopEvent()
            }
        },
        // End of code addition
    
    
        columns: [
            { 
                text      : 'Name',  
                dataIndex : 'name',
                filter   : { type: 'list', value : 'Lisa'}
            },
            { 
                text      : 'Email', 
                dataIndex : 'email', 
                flex      : 1 
            },
            { 
                text      : 'Phone',
                dataIndex : 'phone' 
            }
        ]
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-20
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多