我写了一个 Datawindow,从一个表中读出大约2000条记录,然后从Visual Studio.NET 2003 中调用,发现显示出来大约需要8秒钟,我想加快或采用分页技术,不知如何解决?
我试过在 Designer 状态,选中 Retrieve Option 中的 “Retirve As Need”,然后保存,再回到 VS 中调用,发现没有任何改善?
象这种问题如何解决?如果我的表中有10万条记录,起不是要等几个小时?

解决方案 »

  1.   

    10万条记录你都想一下显示,想法上就有问题,你可以限制页面只显示10条,从数据库中读出100条做储备,如果客户需要查询100条意外的,你就分批从数据库读出客户想要的数据。还有记得要释放DataWindow的内存。
      

  2.   

    考虑分页的话,看这里:1.http://mildgibson.blogchina.com/1649365.html2.http://community.csdn.net/Expert/topic/3292/3292678.xml?temp=.1621515
    数据量小的话,用下面的也可以;
    SELECT * FROM 
    (SELECT TOP ItemsPerPage * FROM 
    (SELECT TOP ItemsPerPage*CurrentPageIndex * FROM 
    (SelectCommand) AS t0 
    ORDER BY SortField ASC) AS t1
    ORDER BY SortField DESC) AS t2 
    ORDER BY SortField参数:
    ItemsPerPage:每页大小
    CurrentPageIndex:当前页码
    SelectCommand:SQL查询语句
    SortField:排序字段
      

  3.   

    如果是SQL Server的话 考虑用存储过程分页你搜索一下 存储过程分页  一大堆
      

  4.   

    datawindow加载比较慢。现在还没有测试大数据量怎么样,按道理来讲datawindow显示数据的速度应该是非常快的。
      

  5.   

    1.我这里试,webform下,Datawindow第一次加载需要1-2秒时间,但随后提数正常;在winform下基本和PB下同样
    2.分页可以,设置dw_1.RowsPerPage=20,然后用dw_1.ScrollFirstPage();dw_1.ScrollPriorPage();dw_1.ScrollNextPage();dw_1.ScrollLastPage();控制页走向。