Angular 7+boostrap 分页

3 篇文章 0 订阅
1 篇文章 0 订阅

 

参数定义

 taskLists: any;//initData

 taskPageList: any; // paginationData

 pageNo = 1; // first page

  pageSize = 12; // every page count

  curPage = 1; //currentPage

  pageCount: any ;

 代码:

ngOnInit(){

 this.pageCount = [1];//这个是为了进这个页面的时候默认有1页

}

 getPageList() {//主要的分页代码,页码一共10个

    if (this.taskLists.length >= 1) {

      if (this.taskLists.length % this.pageSize === 0) {

        this.pageNo = Math.floor(this.taskLists.length / this.pageSize);

      } else {

        this.pageNo = Math.floor(this.taskLists.length / this.pageSize) + 1;

      }

      if (this.pageNo < this.curPage) {

        this.curPage = this.curPage - 1;

      }

    } else {

      this.taskLists.length = 0;

      this.pageNo = 1;

      this.curPage = 1;

    }

    this.taskPageList = this.taskLists.slice((this.curPage - 1) * this.pageSize, (this.curPage) * this.pageSize);



    let begin; // first page

    let end;  // last page



    begin = this.curPage - 5;

    if (begin < 1) {

      begin = 1;

    }

    end = begin + 9;

    if (end > this.pageNo) {

      end = this.pageNo;

    }



    begin = end - 9;

    if (begin < 1) {

      begin = 1;

    }

    this.pageCount = [];

    for (var i = begin; i <= end; i++) {

    this.pageCount.push(i);

    }

  }

  // Previous page

   showPrePage() {

    this.curPage--;

    if (this.curPage >= 1) {

      this.getPageList();

    } else {

      this.curPage = 1;

    }

  }

 // next page

  showNextPage() {

    this.curPage++;

    if (this.curPage <= this.pageNo) {

      this.getPageList();

    } else {

      this.curPage = this.pageNo;

    }

  }

 onChangePage(value: any) { //点击页码跳到对应页

      this.curPage = value;

      this.getPageList();

  }

最终效果就是bootstrap 官网分页的那种效果



后台分页

pageSum:any;//后台计算总页数

getPageList(val: any) { //每次点击的页码

    this.curPage = val;

    let begin; // first page

    let end;  // last page

    begin = this.curPage - 5;

    if (begin < 1) {

      begin = 1;

    }

    end = begin + 9;

    if (end > this.pageSum) {

      end = this.pageSum;

    }



    begin = end - 9;

    if (begin < 1) {

      begin = 1;

    }

    this.pageCount = [];

    for (var i = begin; i <= end; i++) {

      this.pageCount.push(i);

    }

  }

   // Previous page

 async  showPrePage() {

    this.curPage--;

    if (this.curPage >= 1) {

      this.getPageList(this.curPage);

      await this.getTaskLists(this.curPage);

    } else {

      this.curPage = 1;

    }

  }

 // next page

 async showNextPage() {

    this.curPage++;

    if (this.curPage <= this.pageSum) {

      this.getPageList(this.curPage);

      await this.getTaskLists(this.curPage);

     }  else {

       this.curPage = this.pageSum;

    }

  }

 async onChangePage(value: any) {

      this.curPage = value;

      this.getPageList(value);

      await this.getTaskLists(value);

  }

  isActivePage(val: any) {

    return val === this.curPage;

  }

pageSum= (data.Count + 12 - 1) / 12;//我项目的每页条数都是固定的12,不需要用户去自己设置每页显示多少的

  return listDatas.Skip(12 * (number - 1)).Take(12).ToList();// listData 是存储过程拿到的数据集,不想改存储过程了,就用Linq对这个做数据集做操作了, number就是前台传到后台的页码

自测没问题,还要看测试部门的反馈

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值