如何快速显示重量数据
问题描述:
我正在开发一个使用ASP.NET 4.0的网站。我想获取&当显示按钮被点击时向用户显示6,000条记录我不想使用分页和griview。一张简单的表格将尽我所能实现的是尽可能快地显示记录。如果我试图填补记录客户方像如何快速显示重量数据
<html><table id='tbl'></table></html>
<script>
function getDataFromService()
{
PageMethods.GetData(filltable)
}
function filltable(result){
for(int i=0;i<=result.length-1;i++)
{
var td= $('<td\>').append(result[i]) ;
var tr=$('<tr\>').append(td);
$('#tbl').append(tr);
}
}
,因为它需要时间来动态创建6000行这招失败。我尝试了虚拟滚动,即只抓取100条记录&,当用户滚动抓取下一个1000时,但我无法找到实现此目的的正确方法。任何建议,将不胜感激。
答
没有快速检索和显示网页上6000条记录的方法。只需要将很多行渲染到屏幕上就需要时间。
你有两个选择:
- 分页
- 连续滚动
这听起来像连续滚动模式将工作最适合你。下面是讨论如何使用,以实现该技术的jQuery的文章:
答
正如指出的别人,增加6000行总是会明显减慢,但可以减少时间相当如果你建立一个在调用append()之前为所有的标签提供了长字符串,并且不需要使用$()来构建行,这也很昂贵。
下面的代码保存几千调用$.append()
和$()
并会使表相当快:[!延迟加载]
function getDataFromService()
{
PageMethods.GetData(filltable)
}
function filltable(result){
var html = '';
for(int i=0;i<=result.length-1;i++)
{
html += '<tr><td>' + result[i] + '</td></tr>'
}
$('#tbl').append(html);
}
被称为(http://en.wikipedia.org/wiki/ Lazy_loading)。 – 2011-08-24 16:53:46