|
Answer» 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
|