javascript - 制表器格式化程序计算另一列的百分比
问题描述
希望这对我来说足够简单,不会放弃 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列并有百分比实时更新。我已经在下面发布了解决方案,所以任何正在寻找这个的人都希望能得到一些帮助!
解决方案
let amountColTotal = 0;
cell.getTable().getData().forEach(row => { amountColTotal += row.amount; });
这是非常简单的。
您也可以使用getCalcResults()
推荐阅读
- sas - 通过删除之前的名称来重命名 SAS 中的列
- mysql - 在 to_char 函数中转换日期?
- javascript - 如何分离连接到创建帐户页面的登录页面?
- powershell - Powershell 表单提示到文件夹
- javascript - 仅使用 Videojs-record 录制音频而不使用 wavesurfer
- node.js - 电子 getFocusedWindow().close() 不工作
- c - 段错误读取/更改全局变量
- apache-flink - 计数 Flink 定时器对象总数
- python - 熊猫搞砸了多级索引镶木地板浮动精度
- reactjs - 打字稿在分配给 Partial 类型时没有发现错误