我的目标是使用datatables JQuery插件动态显示/隐藏列。当我有大约500行时,它会永远这样做。我正在使用新的Datatables API 1.10.0。
$('#oats-detailed-view-button').click(function (e) {
e.preventDefault();
oatsTable.columns([6,7,8,9,10,11,12]).visible(true);
});
有更有效的方法吗?
答案 0 :(得分:1)
遇到性能问题,我总体上建议这些步骤:
要1:您确定没有与细胞有关的不必要的属性,文本和事件吗?
To 2:这里有一个将autoWidth
设置为false的提示,但在另一个帖子中没有帮助。 Performance issues when hiding columns in jQuery DataTables
在DataTables API的选项中,还有一种影响性能的可能性:deferRender
:http://datatables.net/reference/option/deferRender - >你确定你的专栏只有可见吗?也许浏览器必须首先创建HTML,因为它不是在加载时创建的?
此外,在DataTables手册/ FAQ中解释了通过改变它的构建方式来加速表:http://datatables.net/faqs/index(向下滚动到“DataTables运行缓慢”)。
到3和4:我可以想到有两个html div
容器无缝地放在旁边。 div
1包含第1列到第5列,div
2包含第6到12列。然后通过打开和关闭div
2,所有列都会立即显示/不可见。我可以想象,如果您只使用visibiliy:hidden
而不是 display:none
,则浏览器不必渲染新内容。