现在这将是一个非常荒谬的问题。但我能做什么,这是客户的要求。基本上,我们有一个网格(主 - 细节类型),可以达到大约1.5万多行(在几年内有可能达到30-50万行)。
我的客户端不需要任何分页,也不希望任何数据被裁剪。此外,他并没有完全使用最新的硬件,因此在浏览器上渲染是一个大问题。他希望通过在浏览器上打印或查看所有内容来查看所有内容。 (你们可能都认为这听起来多么疯狂,而且肯定是这样)。
现在我想通过快速渲染html来解决这个问题。目前它的一个简单的asp.net网格视图没有分页。这基本上呈现HTML表格。我认为我的选择是: - 使用div手动渲染html(用于快速加载) - 将其导出为pdf或excel(有没有办法导出而无需诉诸第三方控件?) - 给手指(给客户:D j / k)
总而言之,最好的方法是在html上显示10,000多个数据记录?
答案 0 :(得分:7)
考虑使用“Scroller”plug-in for Datatables ..
作为DataTables 1.8的一部分,发布了一个名为“Scroller”的新插件 作为下载包的一部分介绍。 Scroller是一个 为DataTables实现虚拟滚动,它提供了一个 垂直滚动表,滚动表的整个高度, 但只绘制可见显示所需的行, 导致业绩大幅增长。这非常令人兴奋 DataTables的插件不仅可以提高性能,还可以提高性能 因为它有效地提供了与表的新用户交互, 允许完全滚动非常大的数据集。
答案 1 :(得分:2)
你应该进行分页 - 这并不意味着你需要一次只显示一页数据,而是你应该一次检索并呈现一页数据(并且一个接一个地继续提取页面直到数据完了)。
例如,在初始请求中从服务器发送第一页数据。设置js计时器并使用AJAX请求检索后续数据页并将其加载到浏览器中。你可以同时进行多个(比如说3-4个)AJAX请求来检索页面 - 只有这样才能正确地实现排序。
我将亲自避免网格视图并使用手动java脚本(使用jquery的帮助)渲染html表或使用一些java脚本模板引擎。我将使用JSON从服务器检索数据。
答案 2 :(得分:2)
他希望通过打印查看所有内容
这是查看所有信息的唯一可行解决方案。处理大量行时,PDF或Excel 更好。
进行渲染非常简单。只需设置excel mime类型并返回一个HTML表。
http://www.designdetector.com/archives/05/07/HTMLToExcelTheEasyWay.php
对于PDF,您可能必须使用像PDFSharp这样的外部库。
答案 3 :(得分:1)