题
我有一些表格在我的数据库与有关7K行和我的需要 做一个报告网站上(asp.net )定制格式,枢轴表等详细信息。
什么是最好的解决方案,因为当我呈现例如转发器这一数额的数据也是非常缓慢。
谢谢你的建议
解决方案
如果你不想分页,那么你可能需要一些AJAX读取行的滚动,并且在滚动出的观点,如果你需要节省内存可能删除行。
其他提示
<强>关闭视图状态强>
除非你需要它
Page.EnableViewState = false;
<强>拆分表强>
如果你不想下去寻呼路线,你也可以尝试拆分大<table>
成几个较小<table>
s。 (它曾经是浏览器只能呈现一个表中的情况下,它已经看到了最终</table>
后,我不知道这仍然是正确的,但绝对值得一试)
获取摆脱掷骰子的强>
确保您使用的CSS和不使用这样的东西
<td width="40" valign="top"> 50 </td>
<td class="a"> 50 </td> <!-- better -->
<td>50</td> <!-- best -->
<!-- if you need to specify a width, you only need to do it in one row -->
记住crap * 7000 = alot of crap
是在所有成本减少页大小强>
有时候问题不是渲染页面的,但它是导致问题的下载,所以检查了这一点。
嵌套表真的会伤害你
纳夫所述
我建议使用寻呼。
考虑到一个典型行这样的:
<tr><td>ID</td><td>Some data</td><td>More and more data</td></tr>
每个排有66字,因此具有7k行会总结的几乎500k价值的数据。这是一个很大的网显示。
所以如果你真的想要一切都显示在一个页面,保持它的最小的:
- 不要浪费空间
- 不要使用属性,除非完全不可避免的
- 不用class=""如果你没有不同类别的不同行(适用于同一类的所有行,而不是)
无论如何,取决于目标计算机+浏览器,这可能得到真正的需要,如果你的行更大。
您不要提起你使用哪种语言,而是一个中继器的提建议ASP.Net?在我的经验,将数据绑定到数据网格更快上更大的数据集。
但我想知道你为什么会想显示在网页上如此多的数据。在他们的脑子没有用户会坐下来滚动浏览大量数据,并发现它是有用的。限制您的数据相关的数据,这将是对用户有用的 - 通常过滤至小于100级的行
IMO,有这么多的数据的报告是没用的,无论格式,但是如果你绝对必须有它所有打印报告或如此,考虑在服务器上生成一个PDF文件来代替。
可能想尝试的这么多数据的自定义报表工具。我公司做一个工具,称为 RSinteract (无耻插头)。使用SQL Server报告服务。
如果您只想转储数据。我相信浏览器锁定了,而它呈现的是或者在查询正在运行。如果你知道你的目标浏览器是什么...你可以使用“更多...”链接,以获得下一组数据,并有1000行限制。然而,这会影响按Ctrl + F查找。类似传呼,但把责任融入到我猜测用户的手中。
如果你真的想找一个“Web应用程序”中的“最佳”的解决方案,我会大摇大摆地建议你使用Flash / Flex的用于高效渲染多行。如果使用任何超出基本的HTML是不是一种选择,那么我建议动态撷取新行作为用户滚动作为@mbeckish建议...
我用快速开发的网格一个客户端处理的报告和他们爱它(虽然我会宁可已经推出我自己的!)