1

我一直在使用 jQuery 的 DataTables 插件 (http://www.datatables.net) 在客户端上搜索、排序和分页表格数据。实现的简单性和流畅的用户体验是一个巨大的胜利。

现在我需要在更大的数据集(最多 1000 条记录)上实现相同的功能(搜索、排序、分页) 。我希望为此使用相同的插件,但是当表中的记录数增加时,DataTables 的性能似乎急剧下降。在 IE8 上,一个 500tr秒的表已经导致“此页面上的脚本运行缓慢”警报。

因为数据集不是那么大,如果可能的话,我非常希望在客户端上执行此操作。

有什么方法可以通过更改呈现的标记、禁用某些功能、将数据作为 JSON 而不是 HTML 或以其他方式配置它以在大多数现代浏览器(IE7+、 FF2+,铬)。

或者,是否有任何其他 javascript 库,最好是 jQuery,可以提供类似的功能?

4

3 回答 3

1

经过一些进一步的性能测试,事实证明是排序导致了性能问题。jQuery DataTables 不仅能够在 IE6 上对多达 3000 条记录的表进行分页和搜索,而且在上一代浏览器上远不止这些。

您所要做的就是用它初始化 DataTables,"bSort":false它会像冠军一样。

于 2010-10-28T18:50:26.227 回答
0

我更喜欢flexigrid:

http://www.flexigrid.info/

记录的数量不是问题,因为它是每页都实现的。所以我们不是一次管理 1000 条记录。

于 2010-10-21T12:16:33.643 回答
0

这在最近构建的 DataTables (v1.7.5+) 中得到了修复。作者将排序实现更改为不使用 eval 或 $.inArray()。

直接下载链接: http ://datatables.net/download/build/jquery.dataTables.nightly.js

来自更改日志:性能:重新编写排序实现,因此它不使用 $.inArray() 的任何一个 eval()。inArray 被发现对 IE 有严重的负面影响,IE 计算操作以给出“脚本运行缓慢”错误消息 - 新实现使用值/键反向映射来使查找与单个对象参数检索一样快。

使用以下信息(或更高版本)获取构建 每晚:1.7.5.dev 2010 年 11 月 28 日星期日 14:42 下载 下载分钟

于 2010-12-02T22:33:09.463 回答