List集合进行界面分页

List集合进行界面分页

https://blog.csdn.net/qq348843576/article/details/48623235

最近做统计报表,查询出来的数据并不是客户所想要的数据,需要再计算,比如,你可以查询出本期的数据,数据里有很多字段,每个字段中又有很多数值。查询出来的结果只有单纯的数值,如果我们还要在界面中,每一个字段中每个数据要显示出相应的比重,如下

作案手法 警情数 性别

 男  女  未知 

商品交易 56 39 17 0

冒充客服 56 37 10 0
。。。。。。。。。。。。。。。。。。

以上那种是我们数据库可以直接查询到的,但如果我要做成这样:

作案手法 警情数 性别

  男   女    未知 

商品交易 56 39 17 0

比重 29.1% 69.64% 20.36% 0.00%

。。。。。。。。。。。。。。。。。。

合计。。。。。。。。。。。。。。。。。。。。。。

我不知道数据库是否可以直接写出这样的逻辑计算并整成一个视图直接后台调用,但我觉得麻烦,所以都在后台进行数据的计算与重新整理成一个新的集合,这样前台接收数据就可按字段进行数据显示。

问题来了,我们平时前台分页都是后台数据库查询时直接传起始页码数和显示页数(比如一页显示20条数据)。然后查询出来的数据就是20条数据。但新的集合,却不是查询出来的,而是查询出来后重新计算与整合而成的新集合,这个时候,我们就要用到集合的分页。代码如下。

我前台界面用的是Easyui控件,若是其他控件或是没有控件的,前台需要自己写一下,这并不难,可以去百度一下。但后台是一样的,我这里只写后台代码

int intPage = Integer.parseInt((page == null || page == "0")?"1":page);
int number = Integer.parseInt((rows == null || rows == "0")?"20":rows);
int start = (intPage - 1)*number;
int totalCount = list.size();
int pageCount = totalCount % number == 0 ? totalCount / number : totalCount / number +1;
List<User> user = null;
if(intPage == pageCount){
user = list.subList(start,totalCount );
 
}else{
user = list.subList(start,start+number);
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值