根据选择更新 bottomCalc 值(如果有)

Update bottomCalc-value, based on selection (if any)

我刚找到 Tabulator,我很喜欢它。我目前使用的是 4.5 版。 bottomCalc 函数很有用,但是,我希望根据行的 selection 更新它。

有没有我错过的本机选项,或者,应该手动完成,fx。由行选择触发?

列示例:

                {
                  title: 'Offline Amount',
                  field: 'offline',
                  bottomCalc: 'sum',
                  formatter: 'html',
                  align: 'center',
                  width: 150,
                },

selectField: truecolumns

目前,没有更新 bottomCalc:

而且,我希望根据选择对其进行更新(如果)。


更新:

我想 rowSelectionChanged 选项将是处理 .tabulator-footer .tabulator-calcs-holder 更新的最佳方式,但我仍然不确定如何执行该部分。

如果是循环遍历所选值、计算总和并更新值的问题 - 或者如果我能够使用另一个事件、重用特定函数或其他事情。

没有实现此目的的内置方法,但可能有解决方法。

您可以在存储行的选定状态的行数据中存储 属性。然后,您可以使用 rowSelectedrowDeselected 回调来更改此值。

然后您可以使用 Custom Calculation Function 为数据对象选择 属性 为真的行生成列值的总和。

更新

从 4.6 版开始,现在有一个 recalc 函数可以在 table 上调用,因此您可以按照上面的答案设置您的计算函数,然后使用 rowSelectionChanged 回调来触发更新:

var table = new Tabulator("#example-table", {
    rowSelectionChanged:function(data, rows){
        table.recalc();
    },
});