ag-grid 修改 Row Group 的 Header 名称

Posted

技术标签:

【中文标题】ag-grid 修改 Row Group 的 Header 名称【英文标题】:ag-grid modify Row Group's Header name 【发布时间】:2019-06-27 11:18:43 【问题描述】:

我正在使用ag-grid 来显示具有Row Grouping 的表格。 我分组的列是不可见的,因为它的值没有意义。

例如,我将有以下(完全折叠)表:

---------------------------------
|   H1       H2        H3        |
----------------------------------
| > groupId1 (1)                 |
----------------------------------
| > groupId2 (5)                 |
----------------------------------

如您所见,分组是由用户友好的 ID 完成的,这根本不会反映在列定义中。我想将groupId1 / groupId2 更改为根据组行内容动态分配的用户友好文本。

我正在使用React

我以 ag-Grids 示例为起点,以下示例体现了我面临的问题:(例如:https://plnkr.co/edit/VM59gScPD55PhX4y4JBj?p=preview)

    它有行分组 分组由不可见的列(国家/地区)完成 我想将国家/地区名称动态更改为从内部行的值派生的不同值。

感谢您的宝贵时间。 :)

【问题讨论】:

【参考方案1】:

最后一位同事帮助了我,他的解决方案是:

valueFormatter: ( value, data ) => 'something ' + value

在我的组的colDef中,作为标题显示的值在“数据”中发送。

他说 cellRenderer 对于像这样的简单任务来说太过分了。

【讨论】:

【参考方案2】:

您还可以使用这个简单的道具重命名 ag-grid 的 rowGroup 标题 autoGroupColumnDef

<AgGridReact 
  columnDefs=columnDefs 
  rowData=rowData
  autoGroupColumnDef=
    headerName: 'Name'
  
/>

【讨论】:

【参考方案3】:

您可以传递有关组单元格渲染器的其他参数并像这样自定义它 -

colDef = 
    // set the cell renderer to 'group'
    cellRenderer:'agGroupCellRenderer',
    // provide extra params to the cellRenderer
    cellRendererParams: 
        innerRenderer: myInnerRenderer, // provide an inner renderer
    
    ...
;

然后您应该能够使用myInnerRenderer 实现基于自定义逻辑显示任何文本。

这是来自 ag-grid docs 的示例。检查 Group Renderer C 实现

【讨论】:

以上是关于ag-grid 修改 Row Group 的 Header 名称的主要内容,如果未能解决你的问题,请参考以下文章

网格样式 - 覆盖 ag-grid 的样式

display

display

反应 ag-grid 行自动高度不起作用

ag-grid 表:垂直对齐:中间

AG-Grid + React - 添加新行时忽略网格排序