0
有了這樣過濾Backgrid列由數
1|2|3
4|1|1
1|1|1
表現在我想用數> = 3列過濾,我會得到:
1|2|3
4|1|1
的ClientFilter庫似乎只用於字符串(正則表達式實現)。有沒有另外一種方法呢?
有了這樣過濾Backgrid列由數
1|2|3
4|1|1
1|1|1
表現在我想用數> = 3列過濾,我會得到:
1|2|3
4|1|1
的ClientFilter庫似乎只用於字符串(正則表達式實現)。有沒有另外一種方法呢?
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