代码改变世界

Repeater自定义翻页 存储过程实现

2005-08-03 17:02  横刀天笑  阅读(1620)  评论(5编辑  收藏  举报

Repeater以其优秀的自定义模版编辑功能,和良好的性能受人欢迎。
比起让人爱又让人恨的DataGrid, Repeater的性能可真是优秀,但是
Repeater的分页问题也一直是个讨论的话题:
恰好,近来一个系统中用到Repeater的分页,在这里,我写下来,希望大家,
给点优化的意见。
我是用临时表实现的,如果,大家有什么更好的方法,可一定要告诉我啊?

存储过程:

CREATE PROCEDURE CENTPAGES
(
        @pageIndex int,
        @pageSize int
)

DECLARE @MAXPAGEINDEX int
DECLARE @MINPAGEINDEX int

SET  @MINPAGEINDEX= @pageIndex * @pageSize
SET  @MAXPAGEINDEX = @MINPAGEINDEX + @pageSize + 1
--创建临时表
CREATE TABLE #PageIndex
(
 IndexID int IDENTITY (1,1) not null,
 ID int
)
INSERT INTO #PageIndex(ID)
SELECT infoid FROM TM_teachinfo (NOLOCK)  ORDER BY infotime DESC

SELECT
infoid,infotitle,infocontent,infosort,courseid,infotime
FROM TM_TeachInfo JOIN #PageIndex
ON
TM_TeachInfo.infoid = #PageIndex.id
WHERE
#PageIndex.indexid > @MINPAGEINDEX AND
#PageIndex.indexid < @MAXPAGEINDEX
RETURN

有了这个存储过程,相信大家就知道怎样解决Repeater的分页问题了