Extjs 4远程过滤器存储小于(<)大(>)比

时间:2012-08-31 13:42:21

标签: extjs extjs4

是否可以远程过滤小于和大于?我知道如何在php和mysql中处理这个问题,但我不知道如何在extjs 4商店中设置这样的过滤器。

2 个答案:

答案 0 :(得分:1)

4.1开箱即用,没有。

您需要为该原因覆盖负责的提供程序代理,目前只提交属性 - 值对(responsible function)。另一点是Ext.util.Filter根本不支持遥控器的任何比较器。所以你必须实现自己的,并确保商店不支持本地过滤(因为这不起作用)。

作为一个workarround,您可以将较小/较大的值与值一起提交为编码字符串,然后在服务器端将其减去。这只会导致本地过滤器无法获得结果。

答案 1 :(得分:0)

我通常会覆盖Ext.data.proxy.Server,如下所示:



// ext store remote filter missing operator fix
Ext.override(Ext.data.proxy.Server, {encodeFilters: function(filters) {
    var min = [],
        length = filters.length,
        i = 0;

    for (; i < length; i++) {
        if(filters[i].property && filters[i].value){
            min[i] = {
                operator: filters[i].operator,
                property: filters[i].property,
                value   : filters[i].value
            };
        }
    }
    return this.applyEncoding(min);
}});
&#13;
&#13;
&#13;