在页面把购买总结做个合计 想把数据显示成为国际通用格...
在页面把购买总结做个合计 想把数据显示成为国际通用格式 如:61,100.00 这样 .但是显示在页面上显示的时候把逗号后面的都截掉了 只显示61页面效果截图 admin 发表于 2018-6-1 10:03 static/image/common/back.gif
页面效果截图
不好意思 回复我不会发图片 ,不过页面效果图在上面有, 就是最下面那个, 合计那一行,有个61, 但是这后台输出的是61,100 一、在src/main/java/org/jeecgframework/tag/core/easyui/TagUtil.java文件中加入以下代码用来处理json格式的数据
/**
* 循环LIST对象拼接EASYUI格式的JSON数据Footers是json格式的数据
* @param fields
* @param total
* @param list
* @param dataStyle
* @param page
*/
private static String listtojsonByFootersJson(String[] fields, int total, List<?> list,String footers, String dataStyle, int pageSize) throws Exception {
StringBuffer jsonTemp = new StringBuffer();
if("jqgrid".equals(dataStyle)){
int totalPage = total % pageSize > 0 ? total / pageSize + 1 : total / pageSize;
if(totalPage == 0) totalPage = 1;
jsonTemp.append("{\"total\":" + totalPage );
}else{
jsonTemp.append("{\"total\":" + total );
}
jsonTemp.append(",\"rows\":[");
int i;
String fieldName;
if(list==null){
list = new ArrayList();
}
for (int j = 0; j < list.size(); ++j) {
jsonTemp.append("{\"state\":\"closed\",");
Object fieldValue = null;
for (i = 0; i < fields.length; ++i) {
fieldName = fields.toString();
if (list.get(j) instanceof Map)
fieldValue = ((Map<?, ?>) list.get(j)).get(fieldName);
else {
fieldValue = fieldNametoValues(fieldName, list.get(j));
}
jsonTemp.append("\"" + fieldName + "\"" + ":\"" + getStringValue(fieldValue).replace("\"", "\\\"") + "\"");
if (i != fields.length - 1) {
jsonTemp.append(",");
}
}
if (j != list.size() - 1)
jsonTemp.append("},");
else {
jsonTemp.append("}");
}
}
jsonTemp.append("]");
if (footers != null) {
jsonTemp.append(",");
jsonTemp.append("\"footer\":[");
JSONArray js=JSONArray.parseArray(footers);
for(int f=0;f<js.size();f++){
jsonTemp.append("{");
Map <String,Object>map=(Map) js.get(f);
for(String key:map.keySet()){
if(StringUtil.isEmpty(map.get(key).toString())){
jsonTemp.append("\"" + key + "\":\"" + getTotalValue(key, list) + "\",");
}else{
jsonTemp.append("\"" + key + "\":\"" + map.get(key).toString() + "\",");
}
}
jsonTemp.append("},");
}
jsonTemp.append("]");
}
jsonTemp.append("}");
return jsonTemp.toString();
} 二、跳转到418行,找到private static JSONObject getJson(DataGrid dg) {这个方法,把方法里边的内容替换掉
JSONObject jObject = null;
try {
if(!StringUtil.isEmpty(dg.getFooter())){
if(dg.getFooter().startsWith("[")){
jObject = JSONObject.parseObject(listtojsonByFootersJson(dg.getField().split(","), dg.getTotal(), dg.getResults(),dg.getFooter(),dg.getDataStyle(),dg.getRows()));
}else{
jObject = JSONObject.parseObject(listtojson(dg.getField().split(","), dg.getTotal(), dg.getResults(),dg.getFooter().split(","),dg.getDataStyle(),dg.getRows()));
}
}else{
jObject = JSONObject.parseObject(listtojson(dg.getField().split(","), dg.getTotal(), dg.getResults(),null,dg.getDataStyle(),dg.getRows()));
}
} catch (Exception e) {
e.printStackTrace();
}
return jObject;
三、使用方法(如果需要合计的字段值为空的话,那么他会自动合计当前页的数据)
dataGrid.setFooter("[{'salary':'6,1300.00','age':'','name':'合计'}]");
页:
[1]