【发布时间】:2022-01-12 17:24:37
【问题描述】:
我正在使用tabulator.js 以表格的形式显示和操作数据。如何使用制表器一次编辑多行数据?例如,如果我有一个包含名称和价格列的项目表,并且我想将多个条目的价格更改为相同的值。
目标是标记我要编辑的字段并键入或选择新值,该值应针对所有选定条目进行更改。我在文档的编辑部分没有找到有关多行编辑/批量编辑的任何信息。这可以通过任何方式实现吗?
【问题讨论】:
标签: javascript tabulator
我正在使用tabulator.js 以表格的形式显示和操作数据。如何使用制表器一次编辑多行数据?例如,如果我有一个包含名称和价格列的项目表,并且我想将多个条目的价格更改为相同的值。
目标是标记我要编辑的字段并键入或选择新值,该值应针对所有选定条目进行更改。我在文档的编辑部分没有找到有关多行编辑/批量编辑的任何信息。这可以通过任何方式实现吗?
【问题讨论】:
标签: javascript tabulator
没有内置的方法来实现这一点。
您可以使用getRows 函数获取所有表行,然后在行组件上调用update 函数遍历每一行以更新行数据。
var rows = table.getRows();
rows.forEach((row)=>{
row.update("name":"steve"); //update the name of each row to steve;
});
这有一个缺点,它会在每次更新行时触发表的更新。
为了解决这个问题并提高效率,您可以在更新之前调用blockRedraw,然后在之后调用restoreRedraw 函数,这样表格只会被重绘一次。
var rows = table.getRows();
table.blockRedraw();
rows.forEach((row)=>{
row.update("name":"steve"); //update the name of each row to steve;
});
table.restoreRedraw();
【讨论】: