【问题标题】:Angular Ag-grid(Value Getter not exporting rendered value for the cell)Angular Ag-grid(值获取器不导出单元格的渲染值)
【发布时间】:2021-08-11 03:18:44
【问题描述】:

我正在使用角度 ag-grid,并且我有一个列定义如下。

columnDefs=[

{field:'rate' , sortable:true, filter:true, headerName: " RATE", valueGetter: this.rateValueGetter }

rateValueGetter 函数如下。

rateValueGetter(params): String {

if(params.colDef.field=="rate"){

if(params.data.rate.includes('1')) return 'Y';

}

if(params.colDef.field=="rate"){

if(params.data.rate.includes('0')) return 'N';

}

}

上面的函数本质上是,如果数据库中的rate字段为1,则在前端渲染Y,否则为0,则渲染N。

当我尝试使用第三方库 exceljs 导出网格数据时出现问题,它不会导出渲染值(Y 或 N),而是导出原始数据(1 或 0)...如何我让它导出渲染值吗?据我了解,valuegetter 实际上并没有改变数据,它只是在屏幕上呈现值,所以当我试图导出数据时,它没有得到呈现的值。反正有没有获得渲染价值?谢谢。下面是我的导出函数。

    btnExport(){
    
    let filtereddata=[];
    
    this.gridApi.forEachNodeAfterFilterAndSort(grd=> {
    
    filtereddata.push(grd.data);
    
    });
this.exportService.exportDataAsExcel(filtereddata, this.columnDefs, "filename");
}

【问题讨论】:

    标签: angular typescript ag-grid ag-grid-angular exceljs


    【解决方案1】:

    您可以使用map 代替filtereddata 在导出前转换数据。

    例子:

    filtereddata.map(data => {
     return {
       ...data,
       rate: data.rate.includes('1') ? 'Y' : 'N'
     }
    })
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-05
      • 2018-12-02
      • 2018-10-13
      • 2019-01-13
      • 2018-02-13
      • 2018-08-10
      • 2017-06-11
      • 2019-05-19
      相关资源
      最近更新 更多