var table =$("#exampleList").DataTable({
paging:false,
rowReorder:false
}
});
table.on('row-reorder',function(e, diff,edit){
for(var i=0, ien = diff.length ; i<ien ; i++){
var rowData = table.row(diff[i].node).data();
sequence = sequence + "_" + rowData[0];
}
var data = table.rows().data();
data.each(function (value, index) {
alert('Data in index: ' + index + ' is: ' + value);
});
});
您好, 我是数据表的新手。我现在遇到的问题是在用户重新排序行后我无法获得表中的最新值。上面的代码仅显示重新排序之前的值。我需要获取最新的重新排序序列,以便我可以更新数据库。
答案 0 :(得分:0)
您需要做的是在尝试读取数据之前等待几毫秒。
table.on('row-reorder',function(e, diff, edit){
for(var i=0, ien = diff.length ; i<ien ; i++){
var rowData = table.row(diff[i].node).data();
sequence = sequence + "_" + rowData[0];
}
setTimeout(()=> { lookAtData() }, 10);
});
function lookAtData() {
var data = table.rows().data();
data.each(function (value, index) {
alert('Data in index: ' + index + ' is: ' + value);
});
}
答案 1 :(得分:-2)
您应该使用column-reorder
而不是row-reorder
。
请尝试:
var rdata = table .columns().order().data();
console.log(rdata);
它将在列排序后获取数据。