Ag grid Ag网格:数字格式例如:123456.78到123457
我有大量的数字数据。 这需要呈现为逗号分隔的值。 例如。Ag grid Ag网格:数字格式例如:123456.78到123457,ag-grid,Ag Grid,我有大量的数字数据。 这需要呈现为逗号分隔的值。 例如。 123456.78使用Ag网格渲染为123457。 请帮助我实现这一点。您可以通过编写“customcellRenderer”来实现这一点,当您创建列定义时,为“cellRenderer”属性提供一个函数,并在渲染器中使用数字过滤器,类似这样 var colDef = { name: 'Col Name', field' 'Col Field', cellRenderer: function(params) {
123456.78
使用Ag网格渲染为123457
。
请帮助我实现这一点。您可以通过编写“customcellRenderer”来实现这一点,当您创建列定义时,为“cellRenderer”属性提供一个函数,并在渲染器中使用数字过滤器,类似这样
var colDef = {
name: 'Col Name',
field' 'Col Field',
cellRenderer: function(params) {
var eCell = document.createElement('span');
var number;
if (!param.value || !isFinite(param.value)) {
number = '';
} else {
number = $filter('number')(param.value, 0);
}
eCell.innerHTML = number;
return eCell;
}
}
就像我们在Angular2 Typescript代码中提到的这些一样。根据单元渲染流文档(),您可以使用colDef.valueFormatter,如下所示:
var columnDefs=[
{标题名称:“编号”,字段:“编号”},
{headerName:“格式化”,字段:“编号”,valueFormatter:currencyFormatter}
];
函数currencyFormatter(参数){
返回“£”+格式编号(参数值);
}
函数formatNumber(数字){
//这会在数字中添加逗号,例如1000到1000,
//我从堆栈溢出中提取了这个,我不知道它是如何工作的
返回Math.floor(number).toString();
}
您也可以像其他文章所描述的那样使用cellRenderer,但这通常用于更复杂的渲染,而valueFormatter专门用于这种情况。从ag网格:
valueFormatter用于文本格式设置。
cellRenderer适用于需要包含HTML标记和
对单元的潜在功能。举个例子,如果你想
如果要将标点符号放入值,请使用valueFormatter
按钮或HTML链接使用cellRenderer。可以使用
两者的组合,在这种情况下,valueFormatter的结果
将传递给cellRenderer
检查一下,我想这会有帮助的,谢谢你的回复,我们在angular js的ui网格中有cellFilter:'number:'0'。因此,在Ag-Grid中找到一些内置函数会很有帮助。那些人不是来完成这件事的吗?每次要格式化字符串时都必须提供完整的渲染函数似乎很疯狂。非常感谢,这就是我要找的。非常好的响应,我需要的是
currencyFormatter(params:any){return Math.floor(params.value).toString().replace(/(\d)(=(\d{3})+(!\d))/g,$1;}
如果您想在Ts中执行此操作
{
headerName: 'Salary', field: 'sal'
cellRenderer: this.CurrencyCellRenderer
}
private CurrencyCellRenderer(params:any) {
var usdFormate = new Intl.NumberFormat('en-US', {
style: 'currency',
currency: 'USD',
minimumFractionDigits: 4
});
return usdFormate.format(params.value);
}