zoukankan      html  css  js  c++  java
  • ListView高效分页

    • 当数据量非常大的时候,采用ListView内置的分页功能,效率会很低,因为ListView内置的分页功能是当每次请求数据的时候都将所有的数据读出然后选择页面中所请求的数据,因此改用以下方法来提高分页效率。以下方法的原理是:在数据库中进行分页操作,根据所请求的数据来直接将数据库中的数据条数取出,这样每次请求数据的时候,就减轻了服务器的负担。
    • 首先添加数据集查询方法:GetPagedData(在数据库中取得数据分页的方法)和QueryCount(查询所有数据的行数的方法)
      GetPagedData:
      select * from
      (
      SELECT Id, Name, Age, Sex,Row_Number() over(order by id) row_number FROM dbo.T_Persons
      ) t
      where t.row_number>@startRowIndex and t.row_number<
      =@startRowIndex+@maximumRows
      其中startRowIndex和maximumRows参数需要手动在Parameters属性中设置                         QueryCount:
      SELECT COUNT(*) FROM T_Persons
    • 配置ObjectDataSource,让ListView自动生成Template,然后修改ObjectDataSource的EnablePaging="True",SelectCountMethod设置为取得行数的方法(SelectCountMethod="QueryCount"),删除<SelectParameters>内容。
    • 在<ListView>后面添加<DataPager>:
      <asp:DataPager ID="DataPager1" runat="server" PagedControlID="ListView1">
          <Fields>
          <asp:NextPreviousPagerField ButtonType="Link" ShowFirstPageButton="True" ShowNextPageButton="False" FirstPageText="首页" />
          <asp:NumericPagerField ButtonCount="5" ButtonType="Link" />
          <asp:NextPreviousPagerField ButtonType="Link" ShowLastPageButton="True" ShowPreviousPageButton="False" LastPageText="末页" />
          </Fields>
          </asp:DataPager>

    [转载]ListView高效分页

  • 相关阅读:
    Apache Maven 入门篇 ( 上 )
    dojo 模块之define
    CORBA 入门(转)
    Java纯POJO类反射到Redis,反射到MySQL
    Ant编译SWF、SWC例子脚本
    转:动态加载SWF,并获取其中的类接口
    Centos上虚拟机搭建
    maven+flexmojos编译swf、swc脚本例子
    博客园中使用MathJax yongmou
    emacs自动补全插件autocomplet和yasnippet,安装、配置和扩展 yongmou
  • 原文地址:https://www.cnblogs.com/YoungPop-Chen/p/3291739.html
Copyright © 2011-2022 走看看