【问题标题】:custom parameter to ag-grid valueFormatter functionag-grid valueFormatter 函数的自定义参数
【发布时间】:2018-09-08 22:37:19
【问题描述】:

我可以将自定义参数传递给 ag-grid valueFormatter 函数吗 喜欢 valueFormatter: percentFormatter(params, '10')

如果是,那么需要传递什么作为第一个参数来获取单元格值?

【问题讨论】:

    标签: ag-grid


    【解决方案1】:

    功能

    percentageFormatter(percentage: number) {
      return (params) => {
        //your code goes here
        //**EDIT** this return will be what you will see in ag-grid
        return params.value * percentage;
      }
    }
    

    然后,在您的列定义中:

    valueFormatter: percentageFormatter(10)
    

    【讨论】:

    • 为了清楚起见,在您的示例中,它不会被编译。
    • @un.spike 我在我的项目中使用此代码。今天晚些时候我会尝试写一个 plunker
    • 这很好,使用这种方法你可以将this 传递给格式化程序并访问你的Angular组件!
    • 现在我的 Angular 应用程序突然无法构建,如下所示:valueFormatter: this.statusFormatter(this) 我收到错误Expected 0 arguments, but got 1.。这些行已经在 VS 代码编辑器中进行了标记,但它会在我合并到另一个分支之前构建。谁能解释一下?
    • 你能发布 statusFormatter 函数吗? @333马特
    【解决方案2】:

    根据文档 (https://www.ag-grid.com/javascript-grid-value-setters/) params 代表一个接口:ValueFormatterParams 扩展 BaseColDefParams - 其中包含基础知识:

    node: RowNode;
    data: any;
    colDef: ColDef;
    column: Column;
    api: GridApi;
    columnApi: ColumnApi;
    context: any;
    

    您可以根据自己的情况处理返回value

    样本:

    numberFormatter(params:ValueFormatterParams) {
    if(...) -- heve you can check columns/values or any accessed parameters via api
        return Number(params.value).toLocaleString("es-ES", {minimumFractionDigits: 2});
    else(...)
        return params.value;
    }
    

    【讨论】:

    • 正是我需要的!我一直在单元格上收到“NaN”,您的示例代码启发我检查类型。谢谢!
    猜你喜欢
    • 2020-05-09
    • 2020-07-09
    • 1970-01-01
    • 2020-08-31
    • 2020-03-31
    • 1970-01-01
    • 2018-08-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多