[工做札記]01: CS系統中分頁控件的製做

需求:在一個已有的CS項目(ERP中),給全部的列表加上分頁功能。html

分頁的幾個概念:sql

  1. 總記錄數  totalCount (只有知道了總記錄數,才知道有多少頁)
  2. 每頁記錄數  pageSize (根據總記錄數和每頁記錄大小,能夠計算出有多少頁)
  3. 當前頁 currentPage (當前頁不能小於1,也不能大於總頁數)
  4. 總頁數 totalPage 

SQL Server的不一樣分頁方法:數據庫

  • Top + 子查詢,適用於SqlServer2000 及之前的版本中
  • row_number() over (order by ... asc/desc),從Sqlserver2005以後開始有
  • offset 20 rows fetch next 10 rows only, sqlserver2012及之後版本的數據庫使用

不一樣數據庫不一樣的分頁方法,摘自《給培訓學校講解ORM框架的課件》一文:服務器

 

由於系統是遺留的老系統,有上千個查詢,因此要兼顧工做量和實施難易程度的問題,最終採用Sqlserver2012及之後使用的最新的分頁功能。框架

原始查詢:sqlserver

改造後的查詢:fetch

解釋:由於分頁須要計算總記錄數,因此引入strSqlCount變量,計算總數。.net

好了,咱們的分頁控件登場。orm

分頁控件的代碼(你們忍着點,使用的是vb.net的代碼):server

最終的效果圖以下:

使用服務器端分頁控件,頁面加載速度有了大幅度的提升

 

 

.net工做札記系列:

[工做札記]01: CS系統中分頁控件的製做

[工做札記]02: .Net Winform控件TreeView最簡遞歸綁定方法

相關文章
相關標籤/搜索