AG-grid 刷新固定行的总计

标签 ag-grid

请看看这个笨蛋 https://plnkr.co/edit/cOuQ5YPdQDl6oDvoUSSn?p=preview 如果我在任何列上放置过滤器,例如从 Gold 中删除 8 个,那么总数应该会刷新。如何实现这一点

在此处输入代码功能

CustomPinnedRowRenderer () {}

CustomPinnedRowRenderer.prototype.init = function(params) {
    this.eGui = document.createElement('div');
    this.eGui.style = params.style;
    this.eGui.innerHTML = params.value;
};

CustomPinnedRowRenderer.prototype.getGui = function() {
    return this.eGui;
};

最佳答案

它没有更新,因为它与可见数据无关,它绑定(bind)到真实数据(不可变的内存数据)

但可以肯定的是,您可以创建一个解决方法并自己处理 pinnedData

onFilterChanged:(params)=>{
    let result = {
        gold:0,
        silver:0,
        bronze:0
    }
    setTimeout(()=>{
        params.api.forEachNodeAfterFilter(i=>{
            result.gold += Number(i.data.gold);
            result.bronze += Number(i.data.bronze);
            result.silver += Number(i.data.silver);
        });
        console.log(result);
        params.api.setPinnedTopRowData([result]);
    },0)
}

将此部分添加到您的gridOptions中。

One notice: currently we should use setTimeout inside onFilterChanged cuz grid doesn't provide updated data inside this event, the ag-grid team informed about

AG-2078 Filter Cell Renderer refreshes before grid has finished updating

关于AG-grid 刷新固定行的总计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53057323/

相关文章:

angular - 基于最大值和最小值的 Ag 网格单元线性渐变颜色

angularjs - 将 angularCompileRows 设置为 true 时,无法读取 null 的属性 '$apply'

javascript - 从 ag grid angular 中取消选择选定的行

ag-grid - autoGroupColumnDef 上的 aggrid 单元格渲染器使树变平

javascript - 在 ag-grid 中处于行编辑模式时可以阻止排序吗?

javascript - Ag-grid:视口(viewport)未加载数据

angularjs - ag-Grid:尝试调用 sizeColumnsToFit() 但网格返回时宽度为零,也许网格在屏幕上还不可见?

angular - 如何在 ag-grid 上显示和使用单选按钮?

javascript - 如何知道/捕获您所在的特定详细信息网格的详细信息网格 ID? (ag-grid javascript)

angularjs - 如何设置列组的样式