我想向用户显示一个包含〜500,000行的表格。 该表应根据文件进行计算(即该表在开始处已知,并且不会更改)。 我猜想在内存性能方面,构建此表的HTML文本不是一个好主意。 那么我该如何建立这样的表格?如何处理巨大的表格?
我希望用户能够使用垂直滚动条滚动表格。是否有可能只在桌面上看到可见的部分?因为这个,我恐怕会看到延误。
使用服务器端编程而不是Javascript更好吗?
我不限于任何服务器端编程语言,所以任何建议,将不胜感激!
我想向用户显示一个包含〜500,000行的表格。 该表应根据文件进行计算(即该表在开始处已知,并且不会更改)。 我猜想在内存性能方面,构建此表的HTML文本不是一个好主意。 那么我该如何建立这样的表格?如何处理巨大的表格?
我希望用户能够使用垂直滚动条滚动表格。是否有可能只在桌面上看到可见的部分?因为这个,我恐怕会看到延误。
使用服务器端编程而不是Javascript更好吗?
我不限于任何服务器端编程语言,所以任何建议,将不胜感激!
使用ajax的经典示例。
将javascript与服务器端脚本结合使用。
向用户发送第一个250-ish行,当他向下滚动时,可能在第200行,获取接下来的250行,追加到表等等。
这是一个被称为“Infinite scroll”的(ui)设计模式。
这真是服务器端分页的情况,我想说,也许与Ajax结合使用。一个包含500.000行的HTML表会导致很多浏览器崩溃。
您没有指定使用哪种服务器端技术。如果你更新你的问题,我相信人们将能够给你一些指示。
一次向用户显示500,000行是一个坏主意。考虑其他的选择:
如果用户真的需要看到所有的数据一次,然后在浏览器中查看它的做最糟糕的方式之一 - 他们应该使用的是专门用于查看数据制作的工具, 喜欢 Tableau。
对于人类来说,+1,500000行太多了。充其量,你只是让他们自欺欺人地认为他们已经看到了一个体面的数据样本。另外一个提及分页的+1也不是一个好的答案 – 2010-04-26 14:02:35
为了支持这一点:如果用户足够关心数据以便在每一行中浏览一秒钟,就会花5天时间才能到达底部。他们很可能对特定行感兴趣(然后添加分页和过滤机制,认为Google搜索结果)或汇总数据(考虑Wolfram Alpha图表和数字)。 – Douglas 2010-04-26 14:02:36
是否有可能在飞行中只建立表格的可见部分?
如果您构建“虚假”滚动(例如jquery slider),您可以检索部分表格而不是整个表格。
试试这个: Clusterize。JS 微小的插件来显示大型数据集轻松 https://clusterize.js.org/
一个半万行不健全,非常好用的 - 通常当我有这个数据集大型我试图找到方法来组和汇总数据(没有办法我正在阅读500,000个数据),通常我会在Excel或其他应用程序中执行此操作。用户如何在数据集中找到任何内容?你可以给他们发送一个CSV文件,或者某种总结报告吗? – FrustratedWithFormsDesigner 2010-04-26 13:57:50
看到这个类似的问题一些很好的解决方案 - http://stackoverflow.com/questions/2402953/javascript-data-grid-for-millions-of-rows – Anurag 2010-04-26 17:06:58
谢谢。好的讨论! – 2010-04-26 23:57:14