我在表上使用Datatable,我从JS数组加载数据(因此它是服务器端的)。为了加载350行的列表 - 每行10列 - IE8需要超过10秒,其中禁用过滤器和排序。
https://datatables.net/faqs/index说它可以处理行数。
$("#table").DataTable({
"data" : data,
"processing" : true,
"filter": false,
"orderClasses": false,
"ordering": false,
"deferRender" : true,
"columns": columns,
});
(数据是列描述的行和列列表)。
答案 0 :(得分:0)
我知道这种缓慢来自我传递给构建表的JS数组的初始化。 我使用了PHP脚本并迭代了我想要的每一行/列:
data[$row][$col] = 'xxx';
....
我发现让它更快地工作的唯一方法是在一次传递中真正构建js数组,如:
var data = [
<?php foreach($rows as $row)?>
{ <?php foreach($cols as $n=>$col?>
'<?php echo $n?>': '<?php echo $col?>',
];
这种方式对于1 000行表格,我从15s传递到2s,并激活了排序和过滤。
Carreful:当IE8看到类似
的数组时[{'coucou': 'hi'},]
然后它构建一个数组:
[{'coucou': 'hi'}, undefined]
该数据表不喜欢