如何在不重绘整个表格的情况下向JQuery DataTable添加行?
我想要的行为是,在保留表格滚动位置和分页(如果有)的情况下,找到正确的位置(基于排序)将行插入表格中。
如何在不重绘整个表格的情况下向JQuery DataTable添加行?
我想要的行为是,在保留表格滚动位置和分页(如果有)的情况下,找到正确的位置(基于排序)将行插入表格中。
$.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: 指的是datatable变量 (var theTable = $('#example').dataTable();).
reply: 是我添加到自己datatable行的信息。更多信息请查看http://datatables.net/plug-ins/api/fnStandingRedraw。
第一个命令在不重绘表格的情况下添加了一行。添加后,新行不会显示在表格中。
第二个命令重新绘制表格,因此新的行将出现,但保留当前分页设置。
对我来说,这很好用。
dataTable().fnAddData()
。
http://datatables.net/ref#fnAddData
例子:
http://www.datatables.net/release-datatables/examples/api/add_row.html