这里用具体的一个例子说明:
效果:
其中中奖的情况列中,一条记录可以有几种的中奖的情况:
后台的java代码:
page.setResult(customerMapper.selectCustomerList(page));
page.setTotalCount(customerMapper.selectCustomerListCount(page));
for(Customer c:page.getResult()){
c.setUserName(userMapper.findUserNameById(c.getUserId()));
List<Lottery> lotteries=lotteryMapper.findDrawByCusId(c.getId());
if(!CheckUtil.isEmpty(lotteries.size())){
for (int i=0;i<lotteries.size();i++) {
Integer level=lotteries.get(i).getLevel();
Integer drawType=lotteries.get(i).getDrawType();
if (drawType==1) {
switch (level){
case 1:
c.setMonthlyResult("月度一等奖");
break;
case 2:
c.setMonthlyResult("月度二等奖");
break;
case 3:
c.setMonthlyResult("月度三等奖");
break;
}
} else {
switch (level){
case 1:
c.setQuarterResult("季度一等奖");
break;
case 2:
c.setQuarterResult("季度二等奖");
break;
case 3:
c.setQuarterResult("季度三等奖");
break;
}
}
if (!CheckUtil.isEmpty(c.getMonthlyResult())&&CheckUtil.isEmpty(c.getQuarterResult())) {
c.setDrawResult(c.getMonthlyResult());
} else if (CheckUtil.isEmpty(c.getMonthlyResult())&&!CheckUtil.isEmpty(c.getQuarterResult())) {
c.setDrawResult(c.getQuarterResult());
} else {
c.setDrawResult(c.getMonthlyResult()+c.getQuarterResult());
}
}
} else {
c.setDrawResult("没有中奖");
}
}
return page;
我的想法是这样的,先从数据库中查询list的集合,遍历这个集合,在Customer实体中,加三个属性,定义相应的get和set的方法,这里三个属性是:monthlyResult(月度中奖情况),quarterResult ( 季度中奖情况),drawResult(最终前台展示的中奖情况),这样的话,就能遍历循环出,每条记录的月度和季度情况,最后,字符串拼接一下就成了drawResult.
当然另一种想法是在ext的js中,写js方法判断。
顺便记录一下,要实现gridpanel中每一列数据自动换行,替换默认css就行:
.x-grid3-cell-inner{
white-space:normal;
overflow:visible;
}
这样,在gridpanel一列显示一个list数据问题就解决了。
后续有很多开发填坑的文章发布,如果对你有帮助,请支持和加关注一下
http://e22a.com/h.05ApkG?cv=AAKHZXVo&sm=339944
https://shop119727980.taobao.com/?spm=0.0.0.0