ComplianceServer/oldcode/WebHelper/PageHelper.cs

120 lines
5.5 KiB
C#

using System.Text;
namespace WX.CRM.WebHelper
{
public class PageHelper
{
private static int showPage = 5;
private static string generalClass = "badge badge-inverse";
private static string currentClass = "badge badge-warning";
/// <summary>
/// 获取分页字符串
/// </summary>
/// <param name="count">数据总量</param>
/// <param name="pageIndex">当前索引</param>
/// <param name="pageSize">一页的数量</param>
/// <param name="fuc">页面Url</param>
/// <returns></returns>
public static string GetPage(int count, int pageIndex, int pageSize, string fuc)
{
StringBuilder pages = new StringBuilder();
int pageCount = 0;
if (count > pageSize)
{
pageCount = count % pageSize == 0 ? count / pageSize : count / pageSize + 1;
}
else pageCount = 1;
int minIndex = pageCount - showPage;
pages.AppendLine("当前第" + pageIndex + "页/共" + pageCount + "页&nbsp;&nbsp;共" + count + "条记录&nbsp;&nbsp;");
if (pageIndex == 1)
{
pages.AppendLine("<a class='" + generalClass + "'>首页</a>&nbsp;");
pages.AppendLine("<a class='" + generalClass + "'>上一页</a>&nbsp;");
}
else
{
pages.AppendLine("<a class='" + generalClass + "' href='javascript:" + fuc + "(1)'>首页</a>&nbsp;");
pages.AppendLine("<a class='" + generalClass + "' href='javascript:" + fuc + "(" + (pageIndex - 1) + ")'>上一页</a>&nbsp;");
}
int j = 0;
string aclass = string.Empty;
if (pageCount <= showPage)
{
for (int i = 1; i <= pageCount; i++)
{
if (i == pageIndex)
aclass = "" + currentClass + "";
else
aclass = "" + generalClass + "";
pages.AppendLine("<a class='" + aclass + "' href='javascript:" + fuc + "(" + i + ")'>" + i + "</a>&nbsp;");
j = i;
}
}
else if (pageIndex <= showPage)
{
for (int i = 1; i <= showPage; i++)
{
if (i == pageIndex)
aclass = "" + currentClass + "";
else
aclass = "" + generalClass + "";
pages.AppendLine("<a class='" + aclass + "' href='javascript:" + fuc + "(" + i + ")'>" + i + "</a>&nbsp;");
j = i;
}
for (int i = j + 1; i <= (pageCount >= showPage * 2 ? (showPage + pageIndex - 1) : pageCount); i++)
{
if (i == pageIndex)
aclass = currentClass;
else
aclass = generalClass;
pages.AppendLine("<a class='" + aclass + "' href='javascript:" + fuc + "(" + i + ")'>" + i + "</a>&nbsp;");
}
}
else if (pageIndex > showPage && pageIndex <= minIndex)
{
for (int i = (pageIndex - showPage) + 1; i < pageIndex; i++)
{
if (i == pageIndex)
aclass = currentClass;
else
aclass = generalClass;
pages.AppendLine("<a class='" + aclass + "' href='javascript:" + fuc + "(" + i + ")'>" + i + "</a>&nbsp;");
j = i;
}
for (int i = pageIndex; i <= (pageCount > showPage * 2 ? (showPage + pageIndex) : pageCount); i++)
{
if (i == pageIndex)
aclass = currentClass;
else
aclass = generalClass;
pages.AppendLine("<a class='" + aclass + "' href='javascript:" + fuc + "(" + i + ")'>" + i + "</a>&nbsp;");
}
}
else if (pageIndex > minIndex)
{
for (int i = (minIndex > 0 ? minIndex - 5 + 1 : 1); i <= pageCount; i++)
{
if (i == pageIndex)
aclass = currentClass;
else
aclass = generalClass;
pages.AppendLine("<a class='" + aclass + "' href=javascript:" + fuc + "(" + i + ")>" + i + "</a>&nbsp;");
}
}
if (pageIndex >= pageCount)
{
pages.AppendLine("<a class='" + generalClass + "'>下一页</a>&nbsp;");
pages.AppendLine("<a class='" + generalClass + "'>尾页</a>&nbsp;");
}
else
{
pages.AppendLine("<a class='" + generalClass + "' href='javascript:" + fuc + "(" + (pageIndex + 1) + ")'>下一页</a>&nbsp;");
pages.AppendLine("<a class='" + generalClass + "' href='javascript:" + fuc + "(" + pageCount + ")'>尾页</a>&nbsp;");
}
return pages.ToString();
//<a class=""+generalClass+"">1</a>&nbsp;<a class=""+generalClass+"">2</a>&nbsp;<a class=""+generalClass+"">3</a>&nbsp;<a class=""+generalClass+"">4</a>&nbsp;
//<a class=""+currentClass+"">5</a>&nbsp;<a class=""+generalClass+"">...</a>&nbsp;<a class=""+generalClass+"">55</a>&nbsp;<a class=""+generalClass+"">尾页</a>
}
}
}