使用这样的表格
1|2|3
4|1|1
1|1|1
现在我想按数字> = 3的列进行过滤,我会得到:
1|2|3
4|1|1
ClientFilter库似乎只针对字符串(正则表达式实现)。还有另一种方法吗?
答案 0 :(得分:0)
Backgrid类很容易扩展,所以你需要做的就是创建一个自己的过滤器类,它会覆盖ClientSideFilter.makeMatcher
函数,如下所示:
var GreaterThanClientFilter = Backgrid.Extension.ClientSideFilter.extend({
makeMatcher: function(query){
var q = 1*query;
return function (model) {
if (isNaN(q)) return false;
var keys = this.fields || model.keys();
for (var i = 0, l = keys.length; i < l; i++) {
value = model.get(keys[i]);
if (!isNaN(value) && (1*value >= q))
return true;
}
return false;
};
}
});
var filter = new GreaterThanClientFilter({
collection: collection
});
正在运行示例:JSFiddle