过去几个月我一直在使用DataTables,并且已经成功实现了服务器端处理。然而,我给出的最后一个要求是有一个搜索输入,以便过滤所有列(如预先搜索客户端处理(CSP))。
由于我认为在服务器端处理(SSP)中实现该过滤器会导致查询速度非常慢,因此我将注意力转移到了CSP上。一切都很好......除了通常的嫌疑人IE8(要求)。排序,分页和过滤在IE中都能很好地工作,但是初始加载非常慢并且填充了#34;此页面上的脚本导致Internet Explorer运行缓慢"对话框。我花了一天时间阅读Datatables论坛,并寻找解决方案,并做了一些实验,但没有任何作用(如果我返回超过〜2000我得到了该死的对话 - 我正在测试~4000行):
- 在返回的JSON对象的块中使用rows.add()(使用此处提供的解决方案DataTables Forum IE fix以适用于版本1.10.3)
- 使用deferRender = true
注意:
1-我有一些列(4-5)必须使用渲染功能才能显示自定义数据
2-我有一些隐藏的列(在某处看到IE在隐藏列/表占位符方面存在一些问题)。
如果有人可以尝试更多选择,我将不胜感激! 提前谢谢
编辑:我已经尝试了几件事:
- 删除所有渲染函数;
- 使所有列无法排序;
- 我在DataTable的drawCallBack选项中分配了一堆点击处理程序:我将其切换为委托处理程序并在初始化表之前分配它们。
我仍然有慢速对话框...我在使用IE8的VM中运行我的应用程序,硬件是否有任何影响?鉴于对话框是由运行的Javascript语句数量引起的,我对此表示怀疑,但我不确定。