ag-Grid:旋转时使用 floatingBottomRowData

ag-Grid: use floatingBottomRowData when Pivoting

我正在尝试使用 ag-Grid 重新创建以下枢轴 table:

使用 floatingBottomRowData 我找不到为所有生成的列传递值的方法。所以一对值被复制:

我的目标是访问浮动行的每个单元格的列组值。 现在我无法分辨列组之间的区别(导致重复值)。

有什么方法可以区分不同的 (col1, col2) 对吗?

ag-grid论坛给出的答案是:

要获取主键,请执行以下操作:

floatingCellRenderer: function(params) {
        if (gridOptions.columnApi.isPivotMode()) {
            console.log(params.column.getId());
            var parent = params.column.getParent();
            if (parent) {
                var pivotKey = console.log(parent.getOriginalColumnGroup().getColGroupDef().pivotKeys[0]);
            }    
        }
    }

要获取活动数据透视表中的列,请使用列 API,例如 columnApi.getPivotColumns(),它将 return 数据透视表列的列表。这将是有序的,所以如果你有很多列,你遍历的每个父级都会有一个。

我对固定行的 pivot_ 类型做了什么:我在我的列中添加了一个自定义固定行渲染器,我希望在其中显示聚合函数(对我来说是求和和平均)。如果我更改数据透视函数,我会在固定行上调用刷新以设置新值。

pinnedRowCellRenderer: function (render)
            {
                for (var obj_id in render.data)
                {
                    if (obj_id == render.column.colId)
                    {
                        return '<div>' + render.data[obj_id] + '</div>';
                    }
                }
                return '<div></div>';
            }

结果如下所示: Result image

希望对您有所帮助!