我有一个动态添加数据到DataTables的功能.这是功能.
function fnClickAddRow() {
for (i=0; i<10000; i++) {
$('#example').dataTable().fnAddData( [
giCount+".1",
giCount+".2",
giCount+".3",
giCount+".4" ]
);
}
}
Run Code Online (Sandbox Code Playgroud)
这个函数会动态附加到我的#example数据表中,但是在操作过程中屏幕看起来很悬,有没有办法用"处理"来显示加载/处理符号:true,
Gyr*_*com 11
没有通过API触发"处理"消息显示的功能,但有一种解决方法.
您需要启用处理指示符bProcessing: true(对于DataTables 1.9)或processing: true(对于DataTables 1.10).
要显示具有id的表的处理指示符example:
$('.dataTables_processing', $('#example').closest('.dataTables_wrapper')).show();
Run Code Online (Sandbox Code Playgroud)
隐藏具有id的表的处理指示符example:
$('.dataTables_processing', $('#example').closest('.dataTables_wrapper')).hide();
Run Code Online (Sandbox Code Playgroud)
另一件值得一提的是,由于某些原因,在我添加setTimeout100毫秒延迟之前,处理指示器才显示.
在旁注中,为了提高性能,您需要指定false第二个参数fnAddData()来指示不需要重新绘制.完成添加行后,可以调用fnDraw()重绘表,看看这个jsFiddle.
如果先将数据放入数组然后再调用fnAddData()一次,则可以进一步提高性能.
有关代码和演示,请参阅此jsFiddle.