一尘不染

数百万行的JavaScript数据网格[关闭]

javascript

我需要使用JavaScript在网格中向用户呈现大量数据行(即数百万行)。

用户不应一次看到页面或仅查看有限数量的数据。

相反,应该看起来所有数据都可用。

并非一次下载所有数据,而是在用户访问时下载小块(即,通过滚动网格)。

这些行不会通过此前端进行编辑,因此可接受只读网格。

对于这种无缝分页,存在哪些用JavaScript编写的数据网格?


阅读 247

收藏
2020-05-01

共1个答案

一尘不染

以获取有关使SlickGrid与大量行一起工作的正在进行的讨论。

问题在于SlickGrid不会虚拟化滚动条本身-可滚动区域的高度设置为所有行的总高度。用户滚动时,行仍在添加和删除,但是滚动本身是由浏览器完成的。这使它可以非常快速而流畅(众所周知,滚动事件很慢)。需要注意的是,浏览器的CSS引擎中存在一些错误/限制,这些错误/限制限制了元素的潜在高度。对于IE,恰好是0x123456或1193046像素。对于其他浏览器,它更高。

在“大号固定”分支中有一个实验性的解决方法,它通过使用“页面”设置为1M像素高度填充可滚动区域,然后在这些页面中使用相对定位,来显着提高该限制。由于CSS引擎中的高度限制似乎有所不同,并且明显低于实际布局引擎中的高度限制,因此这给了我们更高的上限。

我仍在寻找一种方法,以达到无限制的行数而又不放弃SlickGrid当前在其他实现上所拥有的性能优势。

Rudiger,能否详细说明如何解决此问题?

2020-05-01