How to re-oder serial numbers after remove deleted row from datatable

enter image description hereAfter i deleted row the serial number column number are not re-ordered

I have Delete button in each row on click calling Ajax to delete record from data. It's deleting record from data base, after deleted recording I want to display remain data and remove particular row in table but it's changing pagination and refreshing the whole table.

var owner_table = null;
$(document).ready(function () {
    owner_table = $('#owners_table').DataTable();

});

function deletehouseowner(oid, rid) {

    $.ajax({
        dataType: "HTML",
        type: "POST",
        data: {
            "oid": oid
        },
        url: "houseowner_delete.php",
        success: function (msg) {
            if (msg === "failure") {

            } else {
                event.preventDefault();
                var table = 'owners_table';
                var row = $(this).closest('tr');
                var id = row.attr("id");
                setTimeout(function () {
                    var siblings = row.siblings();
                    owner_table.row($('#row_' + rid)).remove().draw();
                    siblings.each(function (index) {
                        $(this).children().first().text(index + 1);
                    });
                }, 100);
            }
        }
    });
}

Screenshot:

screenshot

Upvotes: 1

Views: 3646

Answers (1)

Gyrocode.com
Gyrocode.com

Reputation: 58890

SOLUTION

API method draw() accepts optional parameter that controls how the table should be updated.

Pass false to draw() function to preserve current page, see the code below:

owner_table.row($('#row_'+rid)).remove().draw(false);

DEMO

See this jsFiddle for code and demonstration.

Upvotes: 0

Related Questions