我需要在分页表中显示数百万条记录。
所以想知道根据性能哪一个会更好。
1.Jquery jqGrid
2.合作UI数据表
3.DataTables
环境:Liferay 6.0 CE
答案 0 :(得分:2)
您是否有一台显示器可以在没有分页的情况下在表格中显示数百万条数据记录?
您是否知道会读取所有数百万条数据记录的用户?
如果你用“否”回答这两个问题,那么你应该清楚明白你需要分页。
如果你想更多的问题,你会明白没有用户会浏览百万行的所有页面。因此,用分页显示数百万条记录事件也没有意义。
可能需要的是在数据集中使用灵活的方式过滤或搜索。在这种情况下,它只能显示几行数据。因此,用户应该成为searching toolbar中的某些控件,并且应该获得一些搜索对话框(simple one或complex),用户可以使用该对话框来过滤数据。您可以提供某种面向问题的搜索模板。请参阅here jqGrid中使用模板的示例。我基于jqGrid制作了所有引用,但是你会使用的任何类型的表都存在相同的问题。
在任何情况下,您都应该更改原始问题,并考虑一些替代方案,这些方案可以为用户GUI提供有关某些过滤器的数据分析,而不仅仅是在网格中显示大量不需要的信息。
答案 1 :(得分:2)
没关系:如果您向客户端传输数百万条记录,然后依靠任何JS库进行分页,您很快就会在浏览器上运行内存不足(如果您的用户有耐心)等待数据传输)。
您正在寻找服务器端和客户端分页以及动态加载的混合体。在那里,我建议您使用您最熟悉的库和服务器端框架,因为您传输的数据量不足以进行“性能优化”。不转移所有 你可以在性能方面做的优化 - 而不是JS库的选择
答案 2 :(得分:0)
为什么不喜欢liferay taglib来显示您的数据? Liferay有一个搜索容器taglib,允许您构建自定义基本/高级搜索表单并显示已过滤数据的分页结果。 它还允许用户选择他们的首选页面大小从5到75(但我认为限制可能以编程方式修改)
它很容易实现,你可以在liferay源代码中找到一些taglib用法的例子。
基本搜索容器(没有搜索表单)可以用3个标签完成,只需几行jsp代码...
如果你愿意,我可以张贴一个例子。