一个解决方案可能是在您的数据上添加一个属性,例如:
$http.get('data.json').success(function(data) {
data.map(function(item) {
item.greaterLesser = item.amount > 30 ? 'Greater' : 'Lesser';
});
$scope.gridOptions.data = data;
});
然后不要将金额与模板一起使用,只需绑定此属性即可。
$scope.gridOptions = {
enableFiltering: true,
columnDefs: [{
field: 'name',
width: 70
}, {
field: 'greaterLesser',
name: 'Number',
width: 90,
}, {
field: 'amount',
name: 'Currency',
cellFilter: 'currencyFilter:this',
}]
};
这是更新的 plunker
编辑
如果你想使用模板,你可以自己实现搜索功能。您可以将filter
选项添加到您的字段并实现该condition
功能。就像是:
filter: {
condition: function(searchTerm, cellValue) {
var value = cellValue > 30 ? 'greater' : 'lesser';
var result = value.search(searchTerm.toLowerCase());
return result > -1;
}
}
在这里我使用了该search
功能,但您可以使用match
或其他一些功能。这是一个演示 plunker