2011-12-16 61 views
0

我在網頁用戶控件中有一個網格視圖,並且我在一個aspx頁面內動態地添加了網頁用戶控件。我想在網格內定製分頁,因此最初它只加載前10條記錄,以便用戶控制快速加載,然後通過單擊「下一個」或頁碼,它將加載下一組10條記錄。這怎麼能實現?網格視圖中的自定義分頁

回答

2

如果您使用SqlServer的存儲過程,然後傳遞兩個參數是頁面尺寸和號

在頁面大小它包含的記錄顯示的總人數和頁面不包含當前頁面。

總之,你必須只抓取頁面大小記錄並不是全部,並調用該網格的頁面索引更改事件中的存儲過程。

2

這是一個簡單的查詢,以顯示如何從查詢根據頁面編號

create PROCEDURE [ProductCategorySearch] 
    @PageIndex int = 1, 
    @PageSize int = 10 
    AS 
    BEGIN 

    DECLARE @StartRow int 
    DECLARE @EndRow int 

    SET @StartRow = (@PageSize * (@PageIndex - 1)) + 1 
    SET @EndRow = @PageSize * @PageIndex + 1 

    SET NOCOUNT ON; 

    WITH ArticleSearch AS 
    (
     SELECT 
      ROW_NUMBER() OVER 
      (
       -- Dynamic sorting 
       ORDER BY 
         a.pCategory_ID ASC     

      ) AS RowNumber, 
       a.pCategory_ID ,a.pCategory_Name from  tblProductCategory a 

    ) 
    -- Statement that executes the CTE 
    SELECT a.*,(select COUNT(*) from ArticleSearch) as RCount 
    FROM 
      ArticleSearch a 
    WHERE 
      a.RowNumber BETWEEN @StartRow AND @EndRow - 1 
    ORDER BY 
      a.RowNumber 

    END