個人經驗分享,,,做Jeecg dataGrid footer 遇到的問題,在這問題到,我弄了好久,也在群里求助幾天,還是沒得解決,我累個天,,,很是煩,,,,
下面說說,2種情況
1,如果沒有替換的字典,,,在dataGrid 設置 footer就ok
2,有替換字段的,這種情況就是我遇到 的,明白之后就比較容易了,
有替換或字典的話,js,就報錯說替換出錯,我就奇怪了,頁面不是有替換的,不正常嗎,為什么出錯,我看了半天的 js , 還是看不出什么,去年哪段js ,其他的又不能用,
后來我就想的,替換可不可以在控制層做,有這個想法就動手 ,把所有的替換字段,字典,改下,再發送dataGrid,
下面看代碼:
List <StockOutS051Entity> resualtlist= dataGrid.getResults();
//不保存操作
systemService.getSession().clear();
int sum = 0;
if(resualtlist.size()!=0){
for(StockOutS051Entity aa:resualtlist)
{
sum=sum+Integer.valueOf(aa.getQty());
//findByfliedAndTypeCode,字段替換方法,相信大家會寫,注意清空getSession().clear();,不然保存數據庫
aa.setPno(stockOutS050Service.findByfliedAndTypeCode("b004","prodno","pno",aa.getPno(),"",""));
aa.setCno(stockOutS050Service.findByfliedAndTypeCode("b005","color","cno",aa.getCno(),"",""));
aa.setSno(stockOutS050Service.findByfliedAndTypeCode("b006","sizeNo","sno",aa.getSno(),"",""));
aa.setStockid(stockOutS050Service.findByfliedAndTypeCode("b007","stock","stockid",aa.getStockid(),"",""));
}
}
//格式化為小數點2位數
// DecimalFormat df = new DecimalFormat("#.00");
String total_salary=Integer.toString(sum);
dataGrid.setFooter("stockid:合計:,qty:"+(total_salary.equalsIgnoreCase("null")?"0":total_salary));
