有没有办法在 ag 网格中的 2 个单元格渲染器之间传递数据?

Posted

技术标签:

【中文标题】有没有办法在 ag 网格中的 2 个单元格渲染器之间传递数据?【英文标题】:Is there a way to pass data between 2 cell renderers in ag grid? 【发布时间】:2020-09-21 09:52:54 【问题描述】:

我的 ag 网格的 2 个列中有 2 个单元格渲染器。第一栏是动作栏。第二列是一个包含数据选项的下拉列表。

动态地,根据从第二列下拉列表中选择的数据,我想更改/切换第一列中的操作图标。这可能吗?

我已经为两个单元格渲染器使用了 cellrendererframework。

【问题讨论】:

【参考方案1】:

是的,有可能!

首先,你应该给你添加refresh()方法cell-dropdown.component

它看起来像:

public refresh(params): boolean   
    params.api.redrawRows();

    return true;
  

选择新的选择后,它会调用方法refresh(),并且第一列将重绘

我已经为您的案例创建了示例:

我们有性别下拉菜单,并根据更改的选择 - 第一列的名称将更改

对于性别列使用cellRenderFrameWork

第一列(名称)使用简单的内联cellRender,看起来像

   field: 'name', cellRenderer: params => 
    return params.data.gender === "Female" ? params.value : 'Roman' 
   ,

工作示例:https://plnkr.co/edit/HT5fgs0VV5PqErWH

【讨论】:

成功了!但我的情况有点不同。我没有使用内联单元格渲染器,而是使用另一个单元格渲染器框架,传递 params.api.redrawrows 使操作列恢复到我不想要的原始状态。 但是您的回答也将帮助我继续我的下一个挑战。我接受这个答案,因此这是正确的! ? 对不起,我的声誉很低,所以我不赞成这个答案。如果我遇到任何农业网格问题,我会与您联系。再次感谢您:)

以上是关于有没有办法在 ag 网格中的 2 个单元格渲染器之间传递数据?的主要内容,如果未能解决你的问题,请参考以下文章

材质选项卡中的 ag-grid

使用 ag 网格在 Angular2 上渲染 excel 表

使用框架单元渲染器的 Ag 网格会在任何商店更改时不断重新渲染

如何在我的模板的 ag 网格表的每一行的单元格上放置按钮?

如何在单击按钮时使 ag 网格中的所有单元格可编辑

ag网格在单元格值改变时改变单元格颜色