分页展示已筛选好的数据
若依框架中有自定义的分页方法
startPage(); SQl;//第一个查询方法 return getDataTable(endParentLists);//endParentLists为sql语句直接查询得到的数据
startPage();可以在sql语句中设定limit查询对应条数的数据,很完美;
有些场景是有的表使用的是parentId在单个表中就可以实现两层树形结构,一个父类算一个数据,所以就不也能简单的用SQL语句的limit来限制查询条数了!
在查询后经过拼接筛选成需要的树形结构后,在进行分页显示,就需要定义一个简单的方法:
public TableDataInfo getDataList(List<?> demoList) { PageDomain pageDomain = TableSupport.buildPageRequest(); Integer pageNum = pageDomain.getPageNum(); Integer pageSize = pageDomain.getPageSize(); int num = demoList.size(); demoList = demoList.stream() .skip((pageNum - 1) * pageSize) .limit(pageSize) .collect(Collectors.toList()); TableDataInfo rspData = new TableDataInfo(); rspData.setCode(HttpStatus.SUCCESS); rspData.setRows(demoList); rspData.setTotal(num); return rspData; }
再简单点就是添加了如下代码
PageDomain pageDomain = TableSupport.buildPageRequest(); Integer pageNum = pageDomain.getPageNum(); Integer pageSize = pageDomain.getPageSize(); int num = demoList.size(); demoList = demoList.stream() .skip((pageNum - 1) * pageSize) .limit(pageSize) .collect(Collectors.toList());
在方法中手动切分一下。
使用时也很简单操作如下:
startPage(); return getDataList(endParentLists);//endParentLists就是经过筛选后的数据