ng-gird colDefs(列定义)允许您为每列定义过滤器(角度过滤器)。
在我的用例中,我需要每行使用过滤器。这意味着,某些行中的数据将具有数字格式,而其他行可能具有百分比。
ng-grid是否支持每行过滤?请注意,这不是过滤行,而是将相同的显示格式应用于行的单元格。
答案 0 :(得分:11)
现在(截至2014年)可能使用当前的ngGrid:
columnDefs: [
{
field: 'name',
cellFilter: 'lowercase'
}
]
甚至使用过滤器参数:
columnDefs: [
{
field: 'name',
cellFilter: 'currency:"GPB"'
}
]
答案 1 :(得分:2)
您可以使用cellTemplate和过滤器来完成此操作。
具有自定义cellTemplate的gridOptions:
var statusTpl = '<div style="padding-top: 10px;padding-left: 5px" ng-bind="row.getProperty(col.field) | percentage:200"></div>';
$scope.gridOptions = {
data: 'myData',
columnDefs: [{
field: 'name'
}, {
field: 'status',
cellTemplate: statusTpl
}]
};
一个非常简单的过滤器(在本例中,它计算100%的覆盖百分比= 200):
app.filter('percentage', function() {
return function(input, max) {
if (isNaN(input)) {
return input;
}
return Math.floor((input * 100) / max) + '%';
};
});
您可以在自定义cellTemplate中的过滤器的第二个参数中设置100%值。
如果您需要更精确的可调小数,只需环顾四周就可以找到一些。
卫生署!差点忘了Plunker to this