向JQuery DataTable添加行而不重新绘制
Add rows to a JQuery DataTable without redrawing
如何在不重新绘制整个表的情况下向JQuery DataTable添加行?
我想要的行为是为它找到正确的位置(基于排序)插入到表中,同时保持表的滚动位置和分页(如果有的话)
我也面临着同样的问题。我找到的解决方案是一个新的函数的名称fnStandingRedraw http://datatables.net/plug-ins/api/fnStandingRedraw。我添加了上面的代码以便能够使用这个函数,
$.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 = $('#example'). datatable();)。
reply:是我添加到我的数据表的一行中的信息。更多信息请访问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
相关文章:
- 使用新参数通过服务器端处理重新绘制引导数据表
- 在新窗口中打开时,未在画布中绘制图像
- 在新框架上绘制图像,同时仍然使用P5.js中的利萨茹曲线
- 将许多新图像绘制到画布时内存泄漏
- 有没有一种好方法可以添加新框并使用 javascript 重新绘制画布
- 谷歌地图多边形 - 添加新点后重新绘制
- 需要使用新数据重新绘制地图(与CartoDB.js结合使用)
- 使用单击功能绘制新的动态JS多边形
- HTML5 画布 - 使用剪辑擦除新圆圈后重新绘制新圆圈
- 使用数据表(Meteor Tabular)在新行中绘制数组的每个元素
- 将json中的数据合并到一个新的数组中,并使用d3.js绘制形状
- 如何加载新图像并将其绘制到画布上
- 使用阶梯将绘制的形状移动到新的Y
- 单击按钮打开一个新窗口,并用D3绘制多个大圆
- 谷歌地图v3方向渲染器重新绘制响应
- 删除以前的路线,并绘制一个新的路线
- 画布-只绘制时,悬停在新的瓷砖,而不是整个画布
- 如何将前一个函数的结果绘制到JavaScript中的新函数中
- 如何绘制画布到新的html页面
- 绘制新形状时删除DrawingManager形状