本帖最后由 zswang 于 2010-12-17 01:47:35 编辑

解决方案 »

  1.   

    这种功能我早就在自用的控件里实现了,当时的灵感来自于WinForms的ListView控件,它的虚拟模式可以提供大数据量的显示。可虽然解决了显示的问题,但实际在使用中至少有两个现实的问题,这里假设真有十万条数据:
    1、假如一条记录50个字节,十万条数据就有5M,怎么样才能把这么大的数据量以最小的消耗下载到浏览器中呢?我所能想到的办法是分页并按需下载,也就是滚动条滚动到哪页就下载哪页的数据,但这样会降低数据显示的实时性,除非网络环境非常好,比如在局域网内。
    2、用户不可能一次性需要十万条数据,哪怕是一千条也没有实际意义,一般的情况都会按照自己的需要通过关键字搜索来过滤自己需要的东西,要不然真的象海底捞针一样。
    所以,我觉得,这种方式只能做为一种技术的探索,真的要在实际应用中使用,还不是太靠谱。
      

  2.   

     囧 ,IE脚本的执行效率太差,我想想····
    1、一会试试VBScript排序会不会加快;
    2、倒序只用颠倒下标,不用操作数组。
      

  3.   

    以前一个项目是table显示的
    由于当时这个项目匆忙一直搁浅3000余条记录而已
    由于玩了个表头固定且筛选的小花招。导致IE下更加变得不可用
    最后只能退而求其次,就是在筛选过程中hide整个table。减少其draw的次数,最终客户勉强接受。后来一次大文本显示的时候想到可以延迟加载。但是一直没有去实现他
    看了大叔的做法之后,我觉得这招可行。
      

  4.   

    楼主好样的。
    这个其实在很多方面都有见过的,看过有人用vb实现过,在一个小的textbox中读取几百兆的文件不卡,其实一个原理。另外word文档也是这样的,要读取的时候的再读入具体内容。
      

  5.   

    http://www.bluenile.com/diamond-search?pt=setform&pst=shape=RD|mnprc=1711.0|mxprc=9044957.0|mncrt=0.23|mxcrt=15.02|mnclr=J|mxclr=D|mncut=Fair|mxcut=Signature%20Ideal|mncty=SI2|mxcty=FL&filter_id=0&AdvSearch=Search&basic=0http://www.bluenile.com/diamond-search#
      

  6.   

    其实类似于人人网的页面加载形式,数据动态的改变显示区域,所以滚动条不会因为页面的数据量大而变得那么长。人人网就是动态的Ajax填充显示部分的内容
      

  7.   

     很强悍 十万条www.zhujiwu.com
      

  8.   

    render 不是关键,可以只render可见部分,问题是各种计算,比如 sort, 和拖动时候计算哪些是可见, 如果每一行高度都是固定的,相对容易,如果高度会不同,比如有grouping之类, 这种计算得做成非阻塞的,否则会把界面冻住,这种做法核心是用setTimeout分割执行阻塞函数, 目前的问题是,怎么做一个通用的 分割器,或者是分割模板
      

  9.   

    select * from Orders -- or 1=1'