经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » C# » 查看文章
Pagination
来源:cnblogs  作者:区欠阝日  时间:2018/11/14 10:08:06  对本文有异议
  1. using System.Collections.Generic;
  2. namespace Oyang.Tool
  3. {
  4. public interface IPagination
  5. {
  6. int PageIndex { get; set; }
  7. int PageSize { get; set; }
  8. int TotalCount { get; set; }
  9. string SortField { get; set; }
  10. bool IsAsc { get; set; }
  11. }
  12. public interface IFullPagination : IPagination
  13. {
  14. int PageCount { get; }
  15. int ButtonCount { get; set; }
  16. List<int> ListPageButton { get; }
  17. List<int> CalcPageButton();
  18. }
  19. public class Pagination : IPagination
  20. {
  21. public int PageIndex { get; set; }
  22. public int PageSize { get; set; }
  23. public int TotalCount { get; set; }
  24. public string SortField { get; set; }
  25. public bool IsAsc { get; set; }
  26. }
  27. public class FullPagination : Pagination, IFullPagination
  28. {
  29. public int PageCount
  30. {
  31. get { return TotalCount % PageSize == 0 ? TotalCount / PageSize : TotalCount / PageSize + 1; }
  32. }
  33. public int ButtonCount { get; set; } = 5;
  34. List<int> _listPageButton = null;
  35. public List<int> ListPageButton { get; }
  36. public List<int> CalcPageButton()
  37. {
  38. _listPageButton = new List<int>();
  39. int temp1 = (ButtonCount - 1) / 2;
  40. int temp2 = ButtonCount - 1 - temp1;
  41. int startPageIndex = 1;
  42. int endPageIndex = 1;
  43. if (PageCount <= ButtonCount)
  44. {
  45. startPageIndex = 1;
  46. endPageIndex = PageCount;
  47. }
  48. else if (PageIndex <= temp1)
  49. {
  50. startPageIndex = 1;
  51. endPageIndex = startPageIndex + ButtonCount - 1;
  52. }
  53. else if (PageIndex + temp2 > PageCount)
  54. {
  55. endPageIndex = PageCount;
  56. startPageIndex = endPageIndex - ButtonCount + 1;
  57. }
  58. else
  59. {
  60. startPageIndex = PageIndex - temp1;
  61. endPageIndex = PageIndex + temp2;
  62. }
  63. for (int i = startPageIndex; i <= endPageIndex; i++)
  64. {
  65. _listPageButton.Add(i);
  66. }
  67. return _listPageButton;
  68. }
  69. }
  70. }

 

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号