【问题标题】:ag-grid set cellRendererParams to values from the row dataag-grid 将 cellRendererParams 设置为行数据中的值
【发布时间】:2021-03-13 18:44:26
【问题描述】:

我想通过 cellRendererParams 对象将数据发送到我的 cellRenderer 组件,但我不知道如何为此访问行数据。这是我想做的一个例子:

cellRendererParams: {
    label: currentRowData.myField + currentRowData.myOtherField
}

我不希望我的 cellRenderer 组件了解网格的数据结构,因为我可能会在具有不同行数据的其他网格中使用它。

【问题讨论】:

    标签: ag-grid ag-grid-angular cellrenderer


    【解决方案1】:

    有很多方法:

    1)

    valueGetter: (params) => ({ property1: params.data.myField1 + params.data.myField2, property2: params.data.someOtherField }),
    
    valueFormatter: ({ property1: params.data.myField1 + params.data.myField2, property2: params.data.someOtherField }),
    

    【讨论】:

    • 是的,我使用了 #1,因为它来自 params 对象的 value 属性。
    【解决方案2】:

    尝试使用valueGetter,如下所示:

    valueGetter: (params) => params.data.myField + params.data.myOtherField
    

    【讨论】:

    • 我想我的例子有点简单,因为它只显示了 cellRendererParams 对象中的一项。您的建议仅适用于传递给 cellRenderer 组件的 params 对象的 value 属性。如果我想通过多个项目,例如{ label: 'something', someBoolean: data.myBooleanField , someValue: dataRow.oneValue * dataRow.otherValue },那么您的解决方案不起作用,但我非常感谢您的解决方案,因为它确实完成了简单的案例。
    • 因此,我将您的解决方案更进一步,并且能够使其发挥作用。而不是 valueGetter 只返回一个值,我让它返回一个对象,例如valueGetter: (params) => ({ property1: params.data.myField1 + params.data.myField2, property2: params.data.someOtherField })。如果您更新对此的答案,我会将其标记为已接受的答案。
    猜你喜欢
    • 2018-05-25
    • 2020-09-02
    • 2020-02-20
    • 2018-06-29
    • 1970-01-01
    • 2017-10-09
    • 2019-02-24
    • 2020-10-22
    • 2017-11-19
    相关资源
    最近更新 更多