asp.net datalist控件实现分页

zidane_yubo 2008-03-11 04:21:19
利用分页存储过程和datalist控件实现分页,要求是:每页显示8行,每行显示3张图片,分页效果是:1 2 3 4 5 。。。商品表(pid,pname,pimage)
...全文
106 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zidane_yubo 2008-03-12
  • 打赏
  • 举报
回复
liuchaolin 等着你的代码。 呵呵 谢谢指导
md5e 2008-03-11
  • 打赏
  • 举报
回复
我记得有一个分页组件很好用的,放公司里了,明天给你
  • 打赏
  • 举报
回复
下面给个c#的给你.你按注释代码改响应的内容,怎么使用不用我多说了吧
//===================定义的全局变量==================
//totalrecord从数据库中读出有多少条记录========这个参数要注意修改过
//totalpage通过totalrecord和pagesize算出来,总页数
//currentpage是当前页
//pagesize是每页显示的记录数,就是3*8了。
//numbercount是显示的数字页码个数,默认显示10个页码
int totalrecord=0,totalpage = 0, currentpage = 0, pagesize = 24, numbercount = 10;
//=====================================
//获取导航的方法
public string GetGuideStr()
{
string Str = "";
int Index, Temp;
Temp = (currentpage / numbercount) * numbercount;//算出数字页码的开始数字
Index = Temp;
if (Index == 0)//有可能得0,而数字页码又不从0开始,所以更改为1
Index = 1;
while (Index <= totalpage)//循环输出数字页码
{
if (Index == currentpage)
Str += "<font color='red'>" + Index + "</font>";//把页码变红,指明为当前页
else
Str += "<a href='?page=" + Index + "'>" + Index + "</a>";
Index++;//输出下一个
if (Index > (Temp + numbercount)) break;//如果输出的页码个数大于定义显示的个数时退出循环
}
return Str;//返回连接好的页码字符串
}
Atai-Lu 2008-03-11
  • 打赏
  • 举报
回复
..........
晕,不就是改一下参数么???
zidane_yubo 2008-03-11
  • 打赏
  • 举报
回复
关键是如何实现效果 1 2 3 4 5...这种分页形式, 请指点一下。
  • 打赏
  • 举报
回复
你就编写好你的存储过程,返回24行就行了,然后绑定数据.datalist设置RepeatColumns="3"

下面是分页存储过程.
CREATE proc readProduct
@PageSize int=24,--默认24条
@PageIndex int=1--默认第一页
as
declare@strSQL nvarchar(1000)

if @PageIndex=1
set @strSQL='select top '+str(@PageSize)+' * from 商品表 order by pid desc'
else
set @strSQL='select top '+str(@PageSize)+' * from 商品表 '
+' where pid<(select min(pid) from '
+'(select top '+str((@PageIndex-1)*@PageSize)+' pid from 商品表 order by pid desc ) as t) order by pid desc'

exec(@strSQL)
GO

28,409

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧