我遇到了jQuery Datatables的问题,只是在我的表中添加了rowReorder
选项,问题是当我拖放所选行时它只移动一行。我使用的选项是:
rowReorder: true,
实施例: https://jsfiddle.net/4gfh00u8/
尝试查看文档或答案但未找到解决方案。
答案 0 :(得分:2)
您需要具有序列号的列或数据属性。默认情况下,RowReorder扩展在第一列中查找它。
在basic initialization example中,它说:
表中的第一列是一个序列号,它提供了排序的基础。
如果您不想在表格中显示序列号,您还可以使用rowReorder.dataSrc
指定序列号的数据来源。
您的代码还有其他几个问题,例如,不应使用order: false
禁用排序。此外,columnDefs
选项名称中存在拼写错误。
请参阅updated example以获取代码和演示。
答案 1 :(得分:0)
解决方案是 rowReorder.update,正如文档所说:
<块引用>默认情况下,RowReorder 将 [...] 重新绘制表格以说明排序中的任何更改。
此操作并不总是可取的,特别是如果您正在使用 服务器端处理或希望有一个外部进程更新 数据
因此我们可以禁用更新并使用自定义函数(使用 table.on('row-reorder')
)处理重新排序事件(将新排序存储到 db):
"rowReorder": {
dataSrc: 5, // hidden column, it contains the object id
update: false
},