ext中gridpanel中一列顯示多個值(list集合中的值)

這裏用具體的一個例子說明:css

效果:java

其中中獎的狀況列中,一條記錄能夠有幾種的中獎的狀況:數據庫

後臺的java代碼:app

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.spa

固然另外一種想法是在ext的js中,寫js方法判斷。code

順便記錄一下,要實現gridpanel中每一列數據自動換行,替換默認css就行:orm

.x-grid3-cell-inner{
    white-space:normal;
    overflow:visible;
}

這樣,在gridpanel一列顯示一個list數據問題就解決了。開發

後續有不少開發填坑的文章發佈,若是對你有幫助,請支持和加關注一下字符串

http://e22a.com/h.05ApkG?cv=AAKHZXVo&sm=339944get

https://shop119727980.taobao.com/?spm=0.0.0.0 

相關文章
相關標籤/搜索