数据表刷新到第一页

Datatable refreshes to first page

本文关键字:第一页 刷新 数据表      更新时间:2023-09-26

我一直在对数据表进行特定的操作。在完成调用Ajax时,如果成功,则调用fnDraw(),并刷新直接进入数据表起始页的数据表。这会造成糟糕的用户体验,因为用户必须再次转到他/她执行操作的特定页面。我尝试了各种方法,但似乎唯一的方法可能是更改默认的datatables.js

请帮助解决这个问题。

对于jQuery DataTables 1.9,请使用fnStandingRedraw插件。

jQuery.fn.dataTableExt.oApi.fnStandingRedraw = function(oSettings) {
    if(oSettings.oFeatures.bServerSide === false){
        var before = oSettings._iDisplayStart;
        oSettings.oApi._fnReDraw(oSettings);
        // iDisplayStart has been reset to zero - so lets change it back
        oSettings._iDisplayStart = before;
        oSettings.oApi._fnCalculateEnd(oSettings);
    }
    // draw the 'current' page
    oSettings.oApi._fnDraw(oSettings);
};

$(document).ready(function() {
      var table = $('#example').dataTable()
      table.fnStandingRedraw();
  } );

对于jQuery DataTables 1.10+,只需调用draw(false)即可避免重置页面。

var table = $('#example').DataTable()
/* ... */
table.draw(false);

使用

table.fnPageChange(3,true);


其中3是页码,第二个参数要求数据表重新绘制。

使用这个,它对我有效。

var table = $("#dataTable").DataTable({
  stateSave : true,
  ...
});