Ag grid ag网格筛选器不使用格式化的数值?
我使用的是ag grid和angularjs,过滤器不能处理格式化的数字。我使用带货币值的格式化数字 下面是columndef代码:Ag grid ag网格筛选器不使用格式化的数值?,ag-grid,ag-grid-angular,Ag Grid,Ag Grid Angular,我使用的是ag grid和angularjs,过滤器不能处理格式化的数字。我使用带货币值的格式化数字 下面是columndef代码: { headerName:"GBO", field: "GBO", width: 200, editable:true, cellClass: "number-cell",filter:'agNumberColumnFilter', cellRenderer : function(params){ if(params.value == "" ||
{ headerName:"GBO", field: "GBO", width: 200, editable:true, cellClass: "number-cell",filter:'agNumberColumnFilter',
cellRenderer : function(params){
if(params.value == "" || params.value == null)
return '-';
else return params.value;
}
}
在将数据分配到网格之前,我使用以下格式格式化数字:
$scope.formatNumberOnly = function(num,c, d, t){
//console.log(num );
var n = getNumber(num);
//var n = this,
c = isNaN(c = Math.abs(c)) ? 2 : c,
d = d == undefined ? "." : d,
t = t == undefined ? "," : t,
s = n < 0 ? "-" : "",
i = parseInt(n = Math.abs(+n || 0).toFixed(c)) + "",
j = (j = i.length) > 3 ? j % 3 : 0;
return s + (j ? i.substr(0, j) + t : "") + i.substr(j).replace(/(\d{3})(?=\d)/g, "$1" + t) + (c ? d + Math.abs(n - i).toFixed(c).slice(2) : "");
};
});
$scope.formatNumberOnly=函数(num、c、d、t){
//console.log(num);
var n=getNumber(num);
//var n=这个,
c=isNaN(c=Math.abs(c))?2:c,
d=d==未定义?“:d,
t=t==未定义?,“:t,
s=n<0?-“:”,
i=parseInt(n=Math.abs(+n | | 0).toFixed(c))+“”,
j=(j=i.length)>3?j%3:0;
返回s+(j?i.substr(0,j)+t:)+i.substr(j).替换(/(\d{3})(?=\d)/g,“$1”+t)+(c?d+Math.abs(n-i).toFixed(c).slice(2):”);
};
});
这里的问题是,过滤器不适用于这些格式化的数字,似乎只适用于高达999的值。
有人能帮我解决这个过滤问题吗 如果希望筛选器处理这些格式化的值,则应使用
valueGetter
而不是valueFormatter
您应该在列定义中将上述格式化程序函数实现为valueGetter
此外,数字过滤器也不能像解释格式化数字那样工作,它应该是文本过滤器
这是一份来自官方文件的报告