如何在tabulator js中刷新rownum?

how to refresh rownum in tabulator js?

我想自动刷新行号。删除单行后。 现在我有 {title:"Question no", field:"no", sorter:"number", width:200, editor:false, htmlOutput:true, formatter:"rownum"}

我想刷新此列中的行号。 对于删除功能,我有另一列可以删除单行,因此在每一行的末尾都有删除它的按钮。

{title:"Remove", formatter:"buttonCross", width:40, align:"center", cellClick:function(e, cell){cell.getRow().delete();}}

所以我想在删除任何一行后刷新行号!

根据您的第一个列定义 (title:"Question no", field:"no", sorter:"number", width:200, editor:false, htmlOutput:true, formatter:"rownum"}),似乎有一点冲突...您希望该列从数据源的 "no" 字段中获取数字吗对象(字段:"no"),还是您希望它成为一个 rownum 格式化程序(格式化程序:"rownum")?

如果您的数据源条目包含 "no" 字段,则您的问题列中的单元格来自您的数据源(在每个文档中的 "no" 字段中),这意味着在删除行的 cellClick 函数中,您需要添加代码来操作原始数据源对象以更新每条记录中 "no" 字段的值,以便更改 [=31 中的行号=]。这对你来说会是很多额外的工作。

作为替代方案,如果您的数据源记录没有 "no" 字段,那么您应该从您的列定义中更改删除“字段:"no"” 属性 和该行将被分配行索引号,并在删除行时自动更新。

查看这个 jsfiddle:https://jsfiddle.net/jerren_s/897dtsye/1

第一列定义只是行号格式化程序的定义,不包括字段属性...这是我建议您使用的。第二列是我对你的问题的猜测(因为你没有提供你的数据源)。列定义中的 "field: 'id'" 属性 使用数据源记录中的数字,因此在删除行时不会更改。

从 4.5 版开始,rownum 格式化程序将在行更改时自动更新为正确的行号