数据表行重新排序事件问题

时间:2016-05-26 02:25:10

标签: javascript datatable

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);
});

});

您好, 我是数据表的新手。我现在遇到的问题是在用户重新排序行后我无法获得表中的最新值。上面的代码仅显示重新排序之前的值。我需要获取最新的重新排序序列,以便我可以更新数据库。

2 个答案:

答案 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);

它将在列排序后获取数据。