作者:乀人生如梦 | 来源:互联网 | 2023-09-25 09:25
controller层: query.setPageSize(9);//传入每页要显示的数据条数 PageInfo> page = itPhonesGroupSV.selectPhonesGroup(query); model.addAttribute("pageInfo", page); model.addAttribute("flag", 1);逻辑层: @Override public PageInfo> selectPhonesGroup(PhonesGroupVO phonesGroupVO) throws Exception { PageInfo> pageInfo=new PageInfo>(); if(null==phonesGroupVO){ return null; } TPhonesGroupExample example=new TPhonesGroupExample(); TPhonesGroupExample.Criteria criteria=example.createCriteria(); if(StringUtils.isNotBlank(phonesGroupVO.getDataUserId())){ criteria.andDataUserIdEqualTo(Long.valueOf(phonesGroupVO.getDataUserId())); } PageHelper.startPage(phonesGroupVO.getPageNo(),phonesGroupVO.getPageSize(),true); List tGroupslist=tPhonesGroupMapper.selectByExample(example); List phOnesGroupVOList=buildPhonesGroupVO(tGroupslist); //将要显示的数据条数按toIndex=5的维度重新切割分组: //(这里参考了网上其他队友的方法,地址为:https://www.cnblogs.com/zrbfree/p/7738345.html)
int listSize=phonesGroupVOList.size(); int toIndex=5; List> list=new ArrayList>(); for (int i = 0; i if (i + toIndex > listSize) { toIndex = listSize - i; } List newList = phonesGroupVOList.subList(i, i + toIndex); list.add(newList); } //将分组集合传入pageInfo页面显示 if(!CollectionUtils.isEmpty(phonesGroupVOList)){ pageInfo=new PageInfo>(list); } return pageInfo; } 显示层:
th:data-phOneId="${group?.Id}" th:data-dataUserId="${group?.dataUserId}" th:Onclick="groupAdd.showModify([[${group.phoneNo}]],this.getAttribute(‘data-phoneId‘),this.getAttribute(‘data-dataUserId‘))"> 编辑 th:data-phOneId="${group?.Id}" th:data-dataUserId="${group?.dataUserId}" th:Onclick="groupAdd.deletePhone([[${group.phoneNo}]],this.getAttribute(‘data-phoneId‘),this.getAttribute(‘data-dataUserId‘))"> 删除
效果图:
1.页面传入的pageSize是确定分页时每页展示的数据数量;切割的时候是将这个数量的数据重新分组,最后显示在页面上; 2.切割分组的时候,是按需要的维度来进行每一次循环; 3.显示的时候,第一层先取到pageInfo中的数据集,第二层才取到分割后的分组,第三层才是要显示的具体数据(即每个td);