从gridview / datasource获得有限数量的结果?

时间:2012-04-19 04:24:49

标签: asp.net sql caching gridview

我有一个带有sql数据源的gridview。我有近35000条记录正在填充到表中。这通常会在从服务器加载时挂起系统。

是否有办法从gridview或datasource一次获得有限数量的结果。

首先加载前1000个结果......一旦用户完成了这些结果,它就会自动加载下1000个结果。 我试图使用缓存......

<asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString=""           SelectCommand="SELECT * FROM [Table1]" EnableCaching="true" CacheDuration="3000" >

我认为这会缓存数据,并且所有其他sql查询都保留在缓存的本地,而不是转到数据库。但是当我刷新页面时,它会再次加载所有记录并花费相同的时间(一分钟)。 这就是为什么我需要首先加载前1000个记录或类似的东西。

2 个答案:

答案 0 :(得分:0)

您可以根据GridView页面大小设计查询。假设您位于Gridview的第1页,页面大小设置为100.然后只需从数据库中选择前100条记录。

答案 1 :(得分:0)

为gridview启用分页并指定页面大小属性

AllowPaging="true" 
PageSize="100"

您的gridview在aspx页面中应该是这样的

<asp:GridView runat="server" AllowPaging="true" PageSize="100"