我需要呈现大量的行数据(即。数百万行)在一个网格中使用JavaScript传递给用户。
用户不应该一次只查看页面或有限数量的数据。
相反,应该显示所有数据都是可用的。
不同于一次性下载所有数据,小块数据是在用户访问它们时下载的。通过滚动网格)。
行不会通过前端进行编辑,因此只读网格是可以接受的。
对于这种无缝分页,存在哪些用JavaScript编写的数据网格?
我需要呈现大量的行数据(即。数百万行)在一个网格中使用JavaScript传递给用户。
用户不应该一次只查看页面或有限数量的数据。
相反,应该显示所有数据都是可用的。
不同于一次性下载所有数据,小块数据是在用户访问它们时下载的。通过滚动网格)。
行不会通过前端进行编辑,因此只读网格是可以接受的。
对于这种无缝分页,存在哪些用JavaScript编写的数据网格?
当前回答
datagrid提供了数据的JS抽象,因此您可以使用所提供的dojo将其连接到各种后端。数据存储或自己编写。显然,您需要一个支持对这么多记录进行随机访问的系统。DataGrid还提供了完全的可访问性。
请编辑,这里有一个指向Matthew Russell文章的链接,该文章应该会提供您所需要的示例,使用dojox.grid查看数百万条记录。注意,它使用了旧版本的网格,但概念是相同的,只是有一些不兼容的API改进。
哦,它是完全免费的开源软件。
其他回答
我知道这个问题已经存在几年了,但是jqgrid现在支持虚拟滚动:
http://www.trirand.com/blog/phpjqgrid/examples/paging/scrollbar/default.php
但是禁用了分页
I don't mean to start a flame war, but assuming your researchers are human, you don't know them as well as you think. Just because they have petabytes of data doesn't make them capable of viewing even millions of records in any meaningful way. They might say they want to see millions of records, but that's just silly. Have your smartest researchers do some basic math: Assume they spend 1 second viewing each record. At that rate, it will take 1000000 seconds, which works out to more than six weeks (of 40 hour work-weeks with no breaks for food or lavatory).
他们(或者你)真的认为一个人(看着表格的那个人)能集中那么多注意力吗?他们真的在这一秒内完成了很多事情吗?还是他们(更有可能)过滤掉了不想要的东西?我怀疑,在查看了“合理大小”的子集之后,他们可能会向您描述一个过滤器,该过滤器将自动过滤掉这些记录。
正如paxdiablo和Sleeper Smith和Lasse V Karlsen所暗示的那样,您(和他们)没有仔细考虑需求。从好的方面来看,现在您已经找到了SlickGrid,我确信对这些过滤器的需求变得非常明显。
在我看来,最好的网格如下:
Flexigrid: http://flexigrid.info/ jQuery网格:http://www.trirand.com/blog/ jqGridView: http://plugins.jquery.com/project/jqGridView jqxGrid: https://www.jqwidgets.com/ 英格丽德:http://reconstrukt.com/ingrid/ SlickGrid http://github.com/mleibman/SlickGrid
datatable http://www.datatables.net/index
屏蔽 http://demos.shieldui.com/web/grid-virtualization/performance-1mil-rows 智能电网 https://www.htmlelements.com/demos/grid/overview/
我最好的3个选择是jqGrid, jqxGrid和DataTables。它们可以处理数千行数据并支持虚拟化。
我能想到的最佳方法是在每次滚动或滚动结束前以json格式加载数据块。Json可以很容易地转换为对象,因此可以很容易地不引人注目地构造表行
https://github.com/mleibman/SlickGrid/wiki
“SlickGrid利用虚拟渲染,使您能够轻松地处理数十万个项目,而不会降低性能。事实上,使用10行网格和使用10万行网格在性能上没有区别。”
以下是一些最突出的结果:
自适应虚拟滚动(处理数十万行) 极快的渲染速度 背景后期渲染更丰富的单元格 可配置和自定义 全键盘导航 列调整/排序/显示/隐藏 柱自动调整尺寸和力配合 可插入的单元格格式化器和编辑器 支持编辑和创建新行。” 由mleibman
它是免费的(MIT许可证)。 它使用jQuery。