Datatables.net 渲染和应用分页速度慢

Posted

技术标签:

【中文标题】Datatables.net 渲染和应用分页速度慢【英文标题】:Datatables.net slow in rendering and applying paging 【发布时间】:2016-01-25 23:15:03 【问题描述】:

我正在尝试在 asp.net 网络表单中实现 DataTables.net 1.10.9 (http://datatables.net)。它适用于少量数据,但会延迟渲染和在网页上应用分页。

我正在使用Repeater 控件并在运行时将其绑定到页面后面的代码中。

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

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

到目前为止,我已经尝试过使用“deferRender”:是的,但没有运气。

在 Firefox 和 google chrome 中工作正常,但在 IE9 中出现延迟

【问题讨论】:

渲染时表格中有多少行? 使用innerhtml时IE好像有问题love2dev.com/#!article/…***.com/questions/2406192/… 【参考方案1】:

解决方案

使用deferRender 延迟不可见行的呈现,以加快初始化速度。

请注意,这只会提高 Ajax 或 javascript 来源数据的性能(即使用 ajaxdata 选项时)。

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

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

演示

有关代码和演示,请参阅 this jsFiddle。

链接

Deferred rendering for speed

【讨论】:

@user1263981,请编辑您的问题并说明您迄今为止尝试过的内容以及 DataTables 初始化代码和相应的 HTML 标记。 我没有使用问题中提到的 ajax 或服务器端处理。 @user1263981,问题并不清楚。所以你所有的数据都在 HTML 中,对吧? 带有 html 表的中继器控件在 asp.net 页面中,我在运行时通过数据源(.net 中的数据表)绑定中继器控件。 我已经在 firefox 和 google chrome 中测试过,它工作正常,但在 IE9 中有延迟。

以上是关于Datatables.net 渲染和应用分页速度慢的主要内容,如果未能解决你的问题,请参考以下文章

通过 DataTables.net 分页的图像和标题

dataTables的学习笔记 -- 未开启服务器数据模式

DataTables 配置和使用

vueelementadmin加载慢

jQuery DataTables 分页大小

javascript控件:一个好用的表格(分页实例)