Трудность в написании хранимого Proc для получения данных для пагинации Jqgrid

Я использую следующую процедуру SQL для получения данных для разбивки на страницы в JqGrid в моем веб-приложении.

ALTER PROCEDURE [dbo].[NewStoredProc] 
(
    @skip int,
    @pageSize int,
    @OrderBy Varchar(20),
    @OrderByDirection Varchar(10)
 )

AS
BEGIN
    DECLARE @records int;
    SET NOCOUNT ON;
    SET @records =(select count(*) from Data where Status='A');

    IF @skip <= 0
        SELECT TOP (@pageSize) * from Data where Status='A' 
        ORDER BY CASE WHEN @OrderBy='Column1' AND @OrderByDirection='D' THEN Column1 END DESC ,CASE WHEN @OrderBy='Column1' AND @OrderByDirection !='D'THEN Column1 END,
                 CASE WHEN @OrderBy='Column2' AND   @OrderByDirection='D' THEN Column2 END DESC ,CASE WHEN @OrderBy='Column2' AND @OrderByDirection !='D'THEN Column2 END,
                 CASE WHEN @OrderBy='Column3' AND   @OrderByDirection='D' THEN Column3 END DESC ,CASE WHEN @OrderBy='Column3' AND @OrderByDirection !='D'THEN Column3 END

    ELSE
        WITH GetAll AS (
           SELECT  * from Data where Status='A')
        ,GetFirst AS (
            SELECT TOP (@skip) *
            FROM GetAll
        ),GetNext AS (
            SELECT TOP (@pageSize) nt.*
            FROM GetAll AS nt
                LEFT OUTER JOIN GetFirst AS f ON f.Col1=nt.Col1
            WHERE f.Col1 IS  NULL)

        SELECT * FROM GetNext;
    RETURN @records;
END

Здесь проблема в том, что я не могу использоватьOrderBy в п. Но мне нужно получать записи только после сортировки. Есть ли способ, которым мы можем сделать это ..

Проще говоря .. как осуществить заказ поGetAll данные

Ответы на вопрос(1)

Ваш ответ на вопрос