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