html上的10,000 +记录可以快速呈现

时间:2012-03-20 08:34:09

标签: c# asp.net html render

现在这将是一个非常荒谬的问题。但我能做什么,这是客户的要求。基本上,我们有一个网格(主 - 细节类型),可以达到大约1.5万多行(在几年内有可能达到30-50万行)。

我的客户端不需要任何分页,也不希望任何数据被裁剪。此外,他并没有完全使用最新的硬件,因此在浏览器上渲染是一个大问题。他希望通过在浏览器上打印或查看所有内容来查看所有内容。 (你们可能都认为这听起来多么疯狂,而且肯定是这样)。

现在我想通过快速渲染html来解决这个问题。目前它的一个简单的asp.net网格视图没有分页。这基本上呈现HTML表格。我认为我的选择是:   - 使用div手动渲染html(用于快速加载)   - 将其导出为pdf或excel(有没有办法导出而无需诉诸第三方控件?)   - 给手指(给客户:D j / k)

总而言之,最好的方法是在html上显示10,000多个数据记录?

4 个答案:

答案 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)

我知道这差不多晚了一年,但万一它可以帮助别人。

使用SlickGrid - 它使用div而不是表格,这在IE中提供了更多的性能。请检查此example