代码语言
.
CSharp
.
JS
Java
Asp.Net
C
MSSQL
PHP
Css
PLSQL
Python
Shell
EBS
ASP
Perl
ObjC
VB.Net
VBS
MYSQL
GO
Delphi
AS
DB2
Domino
Rails
ActionScript
Scala
代码分类
文件
系统
字符串
数据库
网络相关
图形/GUI
多媒体
算法
游戏
Jquery
Extjs
Android
HTML5
菜单
网页交互
WinForm
控件
企业应用
安全与加密
脚本/批处理
开放平台
其它
【
C
】
生成分页菜单
作者:
乞丐88
/ 发布于
2015/1/4
/
642
//--------------------------------------------------------------------------- //用于: 显示记录分页菜单 //参数:int TotalCount 记录总条数 // int PageSize 每页显示记录条数 // int int NowPage 当前页 // const int PageNumber 页码(意思是前台分页控件显示的页数) // String CommonRequestHtml http协议的get请求参数(除page参数外的其余参数) //返回值:分页菜单字符串 String __fastcall GetTurnPageHtml(int TotalCount, int PageSize, int NowPage, const int PageNumber, String CommonRequestHtml) { String Result = ""; //分页必须提供的基本属性 int PageCount; //总页数 //分页基本属性 // 左页码属性一 int LeftPageNumberOne = 0; // 左页码属性二 int LeftPageNumberTwo = 0; // 右页码 int RightPageNumber = 0; //判断如果当前页为负数或者零时, NowPage=1 if (NowPage <= 0) { NowPage = 1; } //判断如果当前页大于总页数时,NowPage=PageCount PageCount = GetPageCount(TotalCount, PageSize, 5); if (PageCount <= 0) { return Result; } if (NowPage > PageCount) { NowPage = PageCount; } //生成分页菜单 Result = "<div id=\"kkpager\">"; //去除前后的&符号 String ch = LeftStr(CommonRequestHtml, 1); if (ch == "&") { CommonRequestHtml = CommonRequestHtml.SubString(2, CommonRequestHtml.Length() - 1); } ch = RightStr(CommonRequestHtml, 1); if (ch == "&") { CommonRequestHtml = CommonRequestHtml.SubString(1, CommonRequestHtml.Length() - 1); } //首页和上一页 if (NowPage != 1) { Result += "<a href=\"?" + CommonRequestHtml + "&page=" + IntToStr(NowPage - 1) + "\" title=\"上一页\">上一页</a>"; Result += GetPageNumberStr(1, NowPage, CommonRequestHtml); } else { Result += "<span class=\"first\">上一页</span>"; if (PageCount == 1) { Result += GetPageNumberStr(1, NowPage, CommonRequestHtml); } } //如果分页总页数小于页码数(PageNumber)时,不显示省略号 if (PageCount <= PageNumber) { if (PageCount != 1) { int i = 2; int iMax = PageCount - 1; if (NowPage == 1) { i = 1; } else if (NowPage == PageCount) { iMax = PageCount; } for (i; i <= iMax; i++) { Result += GetPageNumberStr(i, NowPage, CommonRequestHtml); } } } else { if (PageNumber % 2 != 0) { LeftPageNumberOne = (PageNumber / 2) + 1; LeftPageNumberTwo = (PageNumber / 2); RightPageNumber = (PageNumber / 2); } else { LeftPageNumberOne = (PageNumber / 2) + 1; LeftPageNumberTwo = (PageNumber / 2); RightPageNumber = (PageNumber / 2) - 1; } //总页数大于页码数(PageNumber)时 if (NowPage > LeftPageNumberOne && NowPage < PageCount - RightPageNumber) { Result += "<span>...</span>"; for (int i = NowPage - LeftPageNumberTwo; i <= NowPage + RightPageNumber; i++) { Result += GetPageNumberStr(i, NowPage, CommonRequestHtml); } Result += "<span>...</span>"; } else if (NowPage >= PageCount - RightPageNumber) { int iMax = PageCount; if (NowPage != PageCount) { iMax = PageCount - 1; } Result += "<span>...</span>"; for (int i = (PageCount - PageNumber) + 1; i <= iMax; i++) { Result += GetPageNumberStr(i, NowPage, CommonRequestHtml); } } else { int i = 1; if (NowPage != 1) { i = 2; } for (i; i <= PageNumber; i++) { Result += GetPageNumberStr(i, NowPage, CommonRequestHtml); } Result += "<span>...</span>"; } } //下一页和末页 if (NowPage != PageCount) { Result += GetPageNumberStr(PageCount, NowPage, CommonRequestHtml); Result += "<a href=\"?" + CommonRequestHtml + "&page="+ IntToStr(NowPage + 1) + "\" title=\"下一页\">下一页</a>"; } else { Result += "<span class=\"last\">下一页</span>"; } Result += "</div>"; return Result; } //--------------------------------------------------------------------------- //计算总页数 //参数: int PageSize 每页显示的记录条数 // int TotalCount 总记录条数 int __fastcall GetPageCount(int TotalCount, int PageSize, const int ISIZE) { if (PageSize == 0) PageSize = ISIZE;//每页显示的记录条数为"0",则默认为ISIZE if (TotalCount % PageSize == 0) return (TotalCount / PageSize); else return (TotalCount / PageSize) + 1; } //--------------------------------------------------------------------------- //获取单页网页标签 String __fastcall GetPageNumberStr(int i, int NowPage, String CommonRequestHtml) { String Result; if (i == NowPage) Result = "<span class=\"curr\">" + IntToStr(i) + "</span>"; else Result = "<a href=\"?"+ CommonRequestHtml +"&page=" + IntToStr(i) + "\" title=\"第" + IntToStr(i) + "页\">" + IntToStr(i) + "</a>"; return Result; } //---------------------------------------------------------------------------
试试其它关键字
分页菜单
分页
同语言下
.
获取手机通讯录 iOS去除数字以外的所有字符
.
异步加载音乐等资源
.
交通罚单管理系统
.
freemark实现,简单的替换
.
计算斐波那契数列
.
base64解码 包括解码长度
.
图像显示
.
冒泡排序
.
输入十进制数,输出指定进制
.
链式栈
可能有用的
.
C#实现的html内容截取
.
List 切割成几份 工具类
.
SQL查询 多列合并成一行用逗号隔开
.
一行一行读取txt的内容
.
C#动态修改文件夹名称(FSO实现,不移动文件)
.
c# 移动文件或文件夹
.
c#图片添加水印
.
Java PDF转换成图片并输出给前台展示
.
网站后台修改图片尺寸代码
.
处理大图片在缩略图时的展示
乞丐88
贡献的其它代码
(
1
)
.
生成分页菜单
Copyright © 2004 - 2024 dezai.cn. All Rights Reserved
站长博客
粤ICP备13059550号-3