using System; using System.Collections.Generic; using System.Linq; using System.Text; using wpfModel; using wpfHelper; namespace wpfBLL { public class QYXPage { /// /// 计算总页数 /// /// 总行数 /// 每页行数 /// 总页数 public static int TotalPage(int CountRow,int PageSize) { int totalpage; if ((CountRow % PageSize) > 0) //当最后一页不不满足PageSize时 { totalpage = (CountRow / PageSize + 1); } else { totalpage = (CountRow / PageSize); } return totalpage; } /// /// 对读出的数据进行分页显示 /// /// 当前页码 /// 需要分页的数据 /// 数据总行数 /// 每页行数 /// 返回包含当前页数据的链表 public static List BacteriaPage(int curPage,List list,int CountRow,int PageSize) { int totalpage;//总页数 List pagelist=new List();//存储每页数据的链表 if ((CountRow % PageSize) > 0) //当最后一页不不满足PageSize时 { totalpage = (CountRow / PageSize + 1); if (curPage < 1) //当前页小于首页时跳到最后一页 { curPage = totalpage; } else if (curPage > totalpage) //当前页大于首页时跳到第一页 { curPage = 1; } if (curPage == 1)//第一页 { for (int i = (curPage - 1); i < (curPage * PageSize); i++) { pagelist.Add(list[i]); } } else if (curPage == totalpage)//等于总页数时 { for (int i = (PageSize * curPage - PageSize); i < ((PageSize * curPage - PageSize) + (CountRow % PageSize)); i++) { pagelist.Add(list[i]); } } else { for (int i = (PageSize * curPage - PageSize); i < PageSize * curPage; i++) { pagelist.Add(list[i]); } } return pagelist; } else { totalpage = CountRow / PageSize; if (curPage < 1) { curPage = 1; } else if (curPage > totalpage) { curPage = totalpage; } if (curPage == 1)//第一页 { for (int i = (curPage - 1); i < (curPage * PageSize); i++) { pagelist.Add(list[i]); } } else if (curPage == totalpage)//等于总页数时 { for (int i = (PageSize * curPage - PageSize); i < PageSize * curPage; i++) { pagelist.Add(list[i]); } } else { for (int i = (PageSize * curPage - PageSize); i < PageSize * curPage; i++) { pagelist.Add(list[i]); } } return pagelist; } } } }