当前位置: 首页 > 面试题库 >

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

施彬郁
2023-03-14
问题内容

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

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

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

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

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

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


问题答案:

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

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

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

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

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



 类似资料:
  • 问题内容: 有没有一种方法可以使用DecimalFormat(或其他一些标准格式化程序)来格式化数字,如下所示: 1,000,000 => 100万 1,234,567 => 1.23M 1,234,567,890 => 1234.57M 基本上是将某个数字除以100万,保留小数点后两位,并在最后打一个’M’。我曾考虑过创建NumberFormat的新子类,但它看起来比我想象的要复杂。 我正在编写

  • 问题内容: 我最近发现并修复了我正在处理的站点中的错误,该错误导致表中有数百万行重复的数据行,即使没有行也将非常大(仍然有数百万行)。我可以轻松找到这些重复的行,并可以运行一个删除查询来杀死它们。问题是试图一次删除这么多行会长时间锁定表,如果可能的话,我想避免这种情况。我可以看到摆脱这些行而又不占用站点(通过锁定表)的唯一方法是: 编写一个脚本,该脚本将循环执行数千个较小的删除查询。从理论上讲,这

  • 问题内容: 我正在为一个即将到来的Web应用程序进行数据库设计,我想知道是否有人在他们当前的Web应用程序中大量使用mysql,这种设计对于一个可以说80,000个用户的Web应用程序是否有效。 1个DB 在DB中,每个用户的功能都有数百万个表,并且在每个表中可能有数百万行。 尽管此设计非常动态并且可以很好地扩展,但我想知道两件事。 这是当今Web应用程序中的常见设计吗? 如果查询数百万行,这在时

  • 注意:我无法访问与此问题相关的源代码/数据库。这两个表位于不同的服务器上。 我在一家第三方公司工作,该公司的系统与我们自己的系统集成。他们有一个运行类似这样的查询; 它在

  • pre { white-space: pre-wrap; } 本实例演示如何转换表格(table)为数据网格(datagrid)。 数据网格(datagrid)的列信息是定义在 <thead> 标记中,数据是定义在 <tbody> 标记中。确保为所有的数据列设置 field 名称,请看下面的实例:     <table id="tt">         <thead>             <

  • pre { white-space: pre-wrap; } 本实例演示如何取得选中行数据。 数据网格(datagrid)组件包含两种方法来检索选中行数据: getSelected:取得第一个选中行数据,如果没有选中行,则返回 null,否则返回记录。 getSelections:取得所有选中行数据,返回元素记录的数组数据。 创建数据网格(DataGrid)     <table id="tt"