我有一个返回数据的 Web 服务,数据集相当大,可能是 600 行,20 列。将这些数据加载到 Jquery 代码中的 html 表中的最快最有效的方法是什么?
我尝试通过遍历返回的数据并在字符串中创建表 DOM 来创建表 html,但循环部分非常慢。我听说过 Jquery 模板,但我不确定这项技术对于大型数据集是否足够快......
谢谢
我有一个返回数据的 Web 服务,数据集相当大,可能是 600 行,20 列。将这些数据加载到 Jquery 代码中的 html 表中的最快最有效的方法是什么?
我尝试通过遍历返回的数据并在字符串中创建表 DOM 来创建表 html,但循环部分非常慢。我听说过 Jquery 模板,但我不确定这项技术对于大型数据集是否足够快......
谢谢
如果您的目标是让用户能够尽可能快地与数据进行交互,那么您可能想要考虑类似无限滚动(也称为连续滚动)模式的东西,以便您根据需要从用户的滚动中构建网格而不是把所有时间都花在预先渲染网格上。
一些链接:
http://www.infinite-scroll.com/
http://net.tutsplus.com/tutorials/javascript-ajax/how-to-create-an-infinite-scroll-web-gallery/
这似乎是一个设计问题。一次加载 600 x 20 个数据项不是一个好主意。考虑具有低系统资源的客户端,例如袖珍 PC 或 TC(瘦客户端),将无法访问这样的页面。
您需要缓存 Web 服务数据并根据用户操作将其分块加载到客户端浏览器中。您可以使用一些 Ajax 控件来执行此操作。
我认为这是JSON DB可能最有用的地方......你可以编写一个服务器端页面,用 json db 格式的数据响应几行......然后做你自己的 ajax 代码来加载行并在你的选择像您自己的显示模型<table>
并"overflow:auto;"
以块的形式向该表添加行..或使用已经建议的“无限滚动”之类的东西。