| To customize paging in GridView we have to create a procedure which return the the exact result that we have set in GridView pagesize only we have to pass two parameter one is pageindex and second is pagesize
alter PROCEDURE GridviewOrdersPaged ( @PageIndex int, @PageSize int )
AS
BEGIN
DECLARE @PageLowerBound int
DECLARE @PageUpperBound int
DECLARE @RowsToReturn int
-- First of all set the rowcount
SET @RowsToReturn = @PageSize * (@PageIndex + 1)
SET ROWCOUNT @RowsToReturn
-- Set the page bounds
SET @PageLowerBound = @PageSize * @PageIndex
SET @PageUpperBound = @PageLowerBound + @PageSize + 1
-- Create a temp table to store the select results
CREATE TABLE #PageIndex ( IndexId int IDENTITY (1, 1) NOT NULL, OrderID int )
-- Insert into the temp table
INSERT INTO #PageIndex (OrderID) SELECT col_id FROM tbl_name ORDER BY id DESC
-- Return total count
SELECT COUNT(col_id) FROM tbl_name
-- Return paged results
SELECT O.* FROM tbl_name O, #PageIndex PageIndex WHERE O.col_id = PageIndex.OrderID AND PageIndex.IndexID > @PageLowerBound AND PageIndex.IndexID < @PageUpperBound ORDER BY PageIndex.IndexID
END | | |