html上的10000多条记录可以快速呈现
本文关键字:记录 上的 10000 html | 更新日期: 2023-09-27 18:28:24
现在这将是一个非常荒谬的问题。但我能做什么,这是客户的要求。基本上,我们有一个网格(主细节类型),可以扩展到大约15000多行(有可能在几年内扩展到30-50000行)。
我的客户端不想要任何分页,也不想要任何数据裁剪。此外,他并没有完全使用最新的硬件,因此在浏览器上渲染是一个大问题。他想通过打印或在浏览器上浏览来查看所有内容。(你们可能都认为这听起来有多疯狂,事实确实如此)。
现在我想通过快速渲染html来解决这个问题。目前,这是一个简单的asp.net网格视图,没有分页。这本质上是呈现HTML表。我认为我的选择是:-使用div手动渲染html(用于快速加载)-将其导出为pdf或excel(有没有任何方法可以在不需要第三方控制的情况下导出?)-给手指(给客户端:Dj/k)
综上所述,在html上显示10000多条数据记录的最佳方式是什么?
考虑为Datatables使用"Scroller"插件。。
作为DataTables 1.8版本的一部分,一个名为"Scroller"的新插件作为下载包的一部分介绍。滚动条是DataTables的虚拟滚动实现,它提供了垂直滚动表格、滚动表格的整个高度,但是仅绘制可视显示所需的行,从而导致性能的巨大提高。这真是令人兴奋DataTables插件不仅可以提高性能,而且因为它有效地提供了与表的新的用户交互,从而允许非常大的数据集的完全滚动。
我知道这几乎晚了一年,但以防对某人有所帮助。
使用SlickGrid-它使用div而不是表,这在IE中提供了更多的性能
他想通过打印查看所有内容
这是查看所有信息的唯一可行的解决方案。PDF或Excel在处理大量行方面要好得多。
进行渲染非常容易。只需设置excel mime类型并返回一个HTML表。
http://www.designdetector.com/archives/05/07/HTMLToExcelTheEasyWay.php
当涉及到PDF时,您可能必须使用像PDFSharp这样的外部库。
您应该进行分页-这并不意味着您一次只需要显示一页数据,而是应该一次检索和呈现一页数据(并不断地一页接一页地获取页面,直到数据完成)。
例如,在初始请求中从服务器发送第一页数据。设置一个js定时器,并使用AJAX请求来检索后续的数据页面并将其加载到浏览器中。您可以同时进行多个(比如3-4个)AJAX请求来检索页面——唯一的事情就是在这种方法中正确地实现排序。
我个人会避免网格视图,并使用手动java脚本(在jquery的帮助下)或使用一些java脚本模板引擎来渲染html表。我将使用JSON从服务器检索数据。