首页 > 解决方案 > 制表器格式化程序计算另一列的百分比

问题描述

希望这对我来说足够简单,不会放弃 Codepen 等。

我正在尝试在制表符中创建一个自定义格式化程序/修改器,但我很难抓住另一列的总数。bottomCalc不可访问,我不明白如何访问另一列中的所有数据以循环运行它们。

ID 百分 数量
1 25 10
2 12.5 5
3 12.5 5
4 50 20
全部的 100 40
{title:"%", field:"calc-pct", sorter:"number", formatter:function(cell){
    let amt = cell.getRow().getCell("amount");
    let amtCol = cell.getRow().getColumn("amount");
    // loop through amount to get total here
        amtTotal += amt
    pct = amt / amtTotal
    return pct;
}},

Tabulator 文档内容广泛且非常有用,但没有大量关于在格式化程序/修改器中使用 getData()、getRow() 内容的信息——其中很多似乎更多地用于构建表格后的外部函数。有用的东西,但不适用于我的情况。

编辑:

不幸的是没有包括这个,但除了让它工作之外,我需要能够编辑Amount列并有百分比实时更新。我已经在下面发布了解决方案,所以任何正在寻找这个的人都希望能得到一些帮助!

标签: javascripttabulator

解决方案


let amountColTotal = 0;
cell.getTable().getData().forEach(row => { amountColTotal += row.amount; });

这是非常简单的。

您也可以使用getCalcResults()


推荐阅读