2011-12-16 4 views
0

У меня есть вид сетки в веб-пользовательском управлении, и я динамически добавляю элемент управления веб-пользователя на странице aspx. Я хочу, чтобы пользовательская разбивка на страницы внутри сетки так, что изначально она загружает только первые 10 записей, так что пользовательский контроль загружается быстро, а затем, щелкая «рядом» или номера страниц, он загрузит следующую группу из 10 записей. Как это можно достичь?Пользовательский пейджинг в виде сетки

ответ

2

Если Вы используете хранимую процедуру SQLServer в том передать два параметра, который является размером страницы и страниц Количество

В размере страницы не содержит общее число показа записи и страница не содержит текущую страницу.

Короче говоря, вы должны регистрировать только запись о размере страницы не всех и вызывать эту хранимую процедуру в индексе страницы сетки, измененном событием.

2

это пример запроса, чтобы показать, как извлечь из п записей запроса в соответствии с PageNumber

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 
Смежные вопросы