2017-04-04 72 views
0

我有一个Web应用程序需要多次重绘DataTable的实例。他们每个人都有非常小的数据源,但当我做一个正常情况下的性能检查当绘制多个数据表时速度很慢

var table = $("#Table").DataTable({ 
    "data": smallData 
}); 
$("#Table").clear(): 
$("#Table").rows.add(otherSmallData).draw(); 

它已经花了200ms。在我的情况下,更新所有实例需要2秒(2秒钟浏览器冻结)。无论如何要顺利进行客户端?

回答

1

尝试使用deferRender选项进行延迟渲染以获得额外的初始化速度。

var table = $("#Table").DataTable({ 
    "data": smallData, 
    "deferRender": true 
}); 
+0

它并没有真正提高性能,因为推迟选项是假设为大数据集我认为 –

1

您已经使用jQuery创建了对表的引用,当您使用该引用而不是挖掘到DOM时会发生什么?像这样:

var table = $("#Table").DataTable({ 
    "data": smallData 
}); 
table.clear().rows.add(otherSmallData).draw(); 
+0

因为在实际函数中,有一个if-else检查。该表只会第一次初始化。 –