网站搜索

javascript - Datatables.net 在渲染和应用分页时很慢


我正在尝试在 ASP.NET Web 表单中实现 DataTables.net 1.10.9 (http://datatables.net)。在少量数据下它运行良好,但在网页上渲染和应用分页时会有延迟。

我正在使用 Repeater 控件,并在运行时在后台代码页中绑定它。

当页面加载时,我可以看到表格中的所有数据,但页面仍在处理,经过5-8秒的延迟后,分页和主题才会应用到表格上。

有没有什么方法可以减少渲染时间?(不使用服务器端的网络服务)

到目前为止,我尝试过使用“deferRender”: true,但没有成功。

在 Firefox 和 Google Chrome 中工作正常,但在 IE9 中有延迟

答案#1

解决方案

使用 deferRender 来延迟渲染不可见的行,以提高初始化的速度。

请注意,这只会提高 Ajax 或 JavaScript 获取的数据的性能(即在使用 ajax 或 data 选项时)。

var table = $('#example').DataTable({
    ajax: 'https://api.myjson.com/bins/qgcu',
    deferRender: true
});

如果你使用的是 HTML 来源的数据,考虑编写一个脚本来生成包含这些数据的 JSON。然后,你可以使用 ajax 选项指定该脚本的路径,并如上所示使用 deferRender: true 来提高性能。

演示

请参阅此 jsFiddle 了解代码和演示。

链接

  • 延迟渲染以提高速度