AG-grid Decimal Precision 基于数据的值
AG-grid Decimal Precision based on the values of the data
我在网格中有一些十进制值列,我希望在其中具有基于小数值的可变精度。具体来说,如果值 > 9.5,小数点精度应为 0,如果数字在 0.5 和 9.5 之间,则精度应为 1,否则为 2。
目前,我在这样的列定义中定义精度:
"columns": [
{
"name": "exposure",
"type": "DECIMAL",
"title": "Exposure",
"precision": 2,
"width": 77
},
{
"name": "total_risk",
"type": "DECIMAL",
"title": "Total Risk",
"agg_name": "Total Risk",
"precision": 0,
"width": 78
}]
ag grid 是否提供这样的功能。我在官方文档中没有看到任何内容
您可以通过 valueFormatter
在 columnDef
中处理显示值
columnDefs = [
{
headerName: "Sample data",
field: "sampleNumber",
valueFormatter: numberFormatter,
width: 200
}
];
...
numberFormatter(params){
// params.data - full row data
// params.value - cell value
// here you can handle how certain cell data would be displayed on the grid
return Number(params.value.toFixed(params.data.samplePrecision))
}
这是一个有效的 plnkr sample
Official docs 对于 Value Setters
& Value Parsers
这是另一个应该使用 Angular 8:
的例子
columnDefs = [
{
field: 'charge',
headerName: 'Charge',
valueFormatter: this.currencyFormatter,
precision: 3
}
]
currencyFormatter(params: any) {
return params.value.toFixed(params.colDef.precision);
}
我在网格中有一些十进制值列,我希望在其中具有基于小数值的可变精度。具体来说,如果值 > 9.5,小数点精度应为 0,如果数字在 0.5 和 9.5 之间,则精度应为 1,否则为 2。 目前,我在这样的列定义中定义精度:
"columns": [
{
"name": "exposure",
"type": "DECIMAL",
"title": "Exposure",
"precision": 2,
"width": 77
},
{
"name": "total_risk",
"type": "DECIMAL",
"title": "Total Risk",
"agg_name": "Total Risk",
"precision": 0,
"width": 78
}]
ag grid 是否提供这样的功能。我在官方文档中没有看到任何内容
您可以通过 valueFormatter
在 columnDef
columnDefs = [
{
headerName: "Sample data",
field: "sampleNumber",
valueFormatter: numberFormatter,
width: 200
}
];
...
numberFormatter(params){
// params.data - full row data
// params.value - cell value
// here you can handle how certain cell data would be displayed on the grid
return Number(params.value.toFixed(params.data.samplePrecision))
}
这是一个有效的 plnkr sample
Official docs 对于 Value Setters
& Value Parsers
这是另一个应该使用 Angular 8:
的例子columnDefs = [
{
field: 'charge',
headerName: 'Charge',
valueFormatter: this.currencyFormatter,
precision: 3
}
]
currencyFormatter(params: any) {
return params.value.toFixed(params.colDef.precision);
}