Javascript 将行添加到JQuery数据表而不重新绘制

Javascript 将行添加到JQuery数据表而不重新绘制,javascript,jquery,datatable,Javascript,Jquery,Datatable,如何向JQuery数据表添加行而不重新绘制整个表 我希望它能够找到正确的位置(基于排序)将行插入表中,同时保持表的滚动位置和分页(如果有)。使用dataTable().fnAddData() 例如: 我也面临同样的问题。我为此找到的解决方案是一个名为 fn站着画。 我添加了上面的代码来使用这个函数 $.fn.dataTableExt.oApi.fnStandingRedraw = function (oSettings) { if (oSettings.oFeatures.bServe

如何向JQuery数据表添加行而不重新绘制整个表

我希望它能够找到正确的位置(基于排序)将行插入表中,同时保持表的滚动位置和分页(如果有)。

使用
dataTable().fnAddData()

例如:


我也面临同样的问题。我为此找到的解决方案是一个名为 fn站着画。 我添加了上面的代码来使用这个函数

$.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);
};
然后我执行以下命令

theTable.fnAddData([reply], false);
theTable.fnStandingRedraw();
其中,
theTable:是数据表变量(var theTable=$(“#示例”).datatable();。
回复:是我添加到数据表行的信息。更多关于

第一个命令在表上添加一行,而不重新绘制它。在此之后,新行将不会显示在表上。
第二个命令将重新绘制表格,因此将显示新的raw,但保留当前分页设置。

这对我来说很好。

使用fnAddData将导致重新绘制表格,并且不会保留滚动位置。如果使用draw=false参数,则在调用frDraw之前不会插入行。对不起,我很累,无法完全聚焦。这有用吗?bResetDisplay=false;oTable.fnDraw();bResetDisplay=true;在论坛的最后一篇文章中,我也发现了这个问题。我遇到的问题是保持卷轴的位置,而不是分页。不过这是一个很好的信息,所以+12表绘制一行,这可能会在大型表上产生巨大的性能问题。