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高效分页

  • 相关阅读:
    java23种设计模式(五)--组合模式
    elasticsearch删除
    Jedis
    Redis主从复制(含哨兵模式)
    Redis持久化
    Redis基本知识(含数据类型)
    Linux学习(含有常用命令集)
    深入Kafka
    Kafka消费者
    Kafka生产者
  • 原文地址:https://www.cnblogs.com/YoungPop-Chen/p/3291739.html
Copyright © 2011-2022 走看看