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);
}