【问题标题】:ExtJS:: How to filter rows in grid, but not in storeExtJS:: 如何过滤网格中的行,但不在存储中
【发布时间】:2012-04-06 08:57:49
【问题描述】:

我有两个网格,它们都有一个商店。我需要在第一个商店显示所有内容,并在第二个显示该商店的特殊数据。

示例:第一个存储显示每条记录,第二个存储显示类型 = 12 的记录。如何在网格中进行过滤,而不是在存储中。我需要两个不同的网格,而不是一个带有过滤功能的网格。

如果我将按商店过滤第二个网格中的记录,他们将首先隐藏。我会同时看到它,我需要同时看到它们中的不同数据。而且我只需要一家商店。

【问题讨论】:

    标签: javascript extjs


    【解决方案1】:

    一个好方法是在第二个网格中覆盖GridView对象的getRowClass()方法:

        var secondGrid = new Ext.grid.GridPanel({
           //..
           viewConfig: {
                getRowClass: function(record, index) {
                    if (record.get('type') != '12') {
                        return 'display-false';
                    } 
                }
            }
        });
    

    你还应该定义一个 CSS 类:

    .display-false { display: none }
    

    试试这个解决方案!

    【讨论】:

    • +1 这太棒了!此外,如果项目要求不同,您可以应用其他样式,例如深灰色背景/字体,例如“禁用”外观。
    猜你喜欢
    • 2016-07-10
    • 2012-08-07
    • 1970-01-01
    • 2020-06-12
    • 2011-11-02
    • 2018-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多