easyui DataGrid 工具类之 后台生成列
@SuppressWarnings({ "rawtypes", "unchecked" })
public Map<String, Object> getNewStatement(HttpServletRequest request,
HttpServletResponse response,Long grantId,String type,String operate,String columnJson) throws UnsupportedEncodingException, IOException {
List<Map<String,Object>> lMap=new ArrayList<Map<String,Object>>();
List<Map<String,Object>> cMap=new ArrayList<Map<String,Object>>();
lMap=grantApplicationPersistence.findBySql(sql.toString(),names, condition1);
Map <String, Object> colMap=new HashMap<String, Object>();
Map<String, Object> footer= getCountMap();
if("1".equals(type)){
List<List<ColumnVO>> frozenColumnsList =new ArrayList<List<ColumnVO>>();
List<ColumnVO> frozenColumnsList1= new ArrayList<ColumnVO>();
// field 字段名 名称 宽度 对齐方式 是否影藏 是否复选框 是否排序 是否冻结列
frozenColumnsList1.add(new ColumnVO("townCode","列名",80,"right",true,false,true,false,null));
frozenColumnsList1.add(new ColumnVO("townName","列名",80,"left",false,false,true,true,"linkStyle"));
frozenColumnsList.add(frozenColumnsList1);
colMap.put("frozenColumns", frozenColumnsList);
List<List<ColumnVO>> columnsList =new ArrayList<List<ColumnVO>>();
List<ColumnVO> columnsList1= new ArrayList<ColumnVO>();
List<ColumnVO> columnsList2= new ArrayList<ColumnVO>();
columnsList1.add(new ColumnVO("currentTotalSum","列名",80,"right",2,null));
columnsList1.add(new ColumnVO("currentTotalMoney","列名",80,"right",2,null,"valueToFixed"));
columnsList1.add(new ColumnVO("successPerson","列名",80,"right",2,null));
columnsList1.add(new ColumnVO("successMoney","列名",80,"right",2,null,"valueToFixed"));
columnsList1.add(new ColumnVO("failPerson","列名",80,"right",2,null,"nonzeroWarning"));
columnsList1.add(new ColumnVO("failMoney","列名",80,"right",2,null,"nonzeroWarning"));
columnsList1.add(new ColumnVO("updatePerson","列名",80,"right",2,null));
for (int j = 0; j < bankList.size(); j++) {
columnsList1.add(new ColumnVO("",bankList.get(j).get("name").toString(),80,"",null,2));
columnsList2.add(new ColumnVO("person"+bankList.get(j).get("code"),"列名",80,"right","nonzeroWarning"));
columnsList2.add(new ColumnVO("money"+bankList.get(j).get("code"),"列名",80,"right","nonzeroWarningFixed"));
footer.put("person"+bankList.get(j).get("code"), 0);
footer.put("money"+bankList.get(j).get("code"), 0);
}
columnsList.add(columnsList1);
columnsList.add(columnsList2);
colMap.put("columns", columnsList);
}
Set key=footer.keySet();
for (Map<String, Object> map : lMap) {
for (Object object : key) {
if(!"townCode".equals(object.toString())){
if(!"townName".equals(object.toString())){
double num=Double.valueOf(Assert.isNotEmpty(footer.get(object.toString()))==true?footer.get(object.toString()).toString():"0");
double a= Assert.isNotEmpty(map.get(object))?Double.valueOf(map.get(object).toString()):0;
footer.put(object.toString(),num+=a );
}else{
footer.put(object.toString(),"合计");
}
}
}
}
cMap.add(footer);
Map <String, Object> mpAll = new HashMap <String, Object>();
Map <String, Object> mp = new HashMap <String, Object>();
mp.put("total", lMap.size());
mp.put("rows", lMap);
mp.put("footer",cMap);
if("1".equals(type)){
mpAll.put("columnsMp",colMap);
mpAll.put("ta", mp);
if(Assert.isNotEmpty(operate)){
List<Map<String,Object>> date= (List<Map<String, Object>>) mp.get("rows");
List<Map<String,Object>> footerDate= (List<Map<String, Object>>) mp.get("footer");
for (Map<String, Object> map : footerDate) {
date.add(map);
}
new WorkbookUtil().exportToCollect(request, response, operate,"表名", columnJson,date);
return null;
}
return mpAll;
}
if(Assert.isNotEmpty(operate)){
List<Map<String,Object>> date= (List<Map<String, Object>>) mp.get("rows");
List<Map<String,Object>> footerDate= (List<Map<String, Object>>) mp.get("footer");
for (Map<String, Object> map : footerDate) {
date.add(map);
}
new WorkbookUtil().exportToCollect(request, response, operate,"表名", columnJson,date);
return null;
}
return mp;
}
easyui DataGrid 工具类之 后台生成列的更多相关文章
- easyui DataGrid 工具类之 WorkbookUtil class
/** * @Title: WorkbookUtil.java * @Description: excel工具类 * @date 2014年5月29日 上午10:36:42 * @version V1 ...
- easyui DataGrid 工具类之 TableUtil class
import java.lang.reflect.InvocationTargetException;import java.util.ArrayList;import java.util.HashM ...
- easyui DataGrid 工具类之 列属性class
public class ColumnVO { /** * 列标题文本 */ private String title; /** * 列字段名称 */ pr ...
- easyui DataGrid 工具类之 util js
var jq; var tab; var tabsIndex; /** ...
- easyui DataGrid 工具类之 Utils class
import java.lang.reflect.InvocationTargetException;import java.text.ParseException;import java.text. ...
- easyui DataGrid表体单元格跨列rowspan
最近做项目用到了jquery easyui,其中一组DataGrid做的报表是给客户大领导看的,客户要求报表样式跟他们原有系统的一模一样(如下图1). DataGrid样式好调,只是城市名称单元格跨行 ...
- Mybitis根据工具类反射数据库生成映射+整合springboot
一 反向生成数据库mapper的工具类: 添加依赖 <dependency> <groupId>org.mybatis.generator</groupId> &l ...
- EasyUI datagrid : 启用行号、固定列及多级表头后,头部行号位置单元格错位的问题
症状如图: 上图中,行号列与checkbox 列融合了.解决方法是在datagrid 的 onLoadSuccess 事件中加入如下代码: var opts = $(this).datagrid('o ...
- java工具类(三)之生成若干位随机数
java 生成若干位随机数的问题 在一次编程的过程中偶然碰到一个小问题,就是需要生成一个4位数的随机数,如果是一个不到4位大的数字,前面可以加0来显示.因为要求最后是一个4位的整数,不带小数点.当时就 ...
随机推荐
- (。・・)ノ~个人java学习随笔记录
基本认识 1.编程思维 根据这几天的java学习,编写程序最重要的就是要有一个清晰的思路.语法上的错误可以跟随着不断的联系与学习来弥补,清晰的思维却只有自己来前期模仿,后面慢慢摸索形成一套属于自己的思 ...
- 你应该知道的jQuery技巧 [转]
回到顶部按钮 利用jQuery里的animate和scrollTop方法,你便不需要使用插件创建简单的滚动到顶部动画. $('.top').click(function (e) { e.prevent ...
- 极光推送Jpush(v3)服务端PHP版本的api脚本类
原文地址:http://www.dodobook.net/php/780 关于极光推送的上一篇文章已经说明了,此处就不多说了.使用v3版本的原因是v2使用到2014年年底就停止了.点击查看上一篇的地址 ...
- angularJs之http后台访问数据
AngularJS XMLHttpRequest $http 是AngularJS中的一个核心服务,用于读取远程服务器的数据. 读取JSON 文件 以下是存储在web服务器上的JSON 文件: h ...
- typealias和泛型接口
typealias 是用来为已经存在的类型重新定义名字的,通过命名,可以使代码变得更加清晰.使用的语法也很简单,使用 typealias 关键字像使用普通的赋值语句一样,可以将某个已经存在的类型赋值为 ...
- nginx1.8安装nginx_concat_module及400错误解决办法
nginx安装concat模块可以合并js,css等静态资源,减少http请求 在nginx源码目录执行命令: ./configure --user=www --group=www --prefix= ...
- Java 动态代理作用是什么?
Java 动态代理作用是什么? 1 条评论 分享 默认排序按时间排序 19 个回答 133赞同反对,不会显示你的姓名 Intopass 程序员,近期沉迷于动漫ING 133 人赞同 ① 首先你 ...
- Thinkstation center M8600t装RHEL7不能联网,网卡驱动没装问题
Thinkstation center M8600t装RHEL7时不能联网,配置ip也不可以,后来发现网卡驱动没有安装.可以通过装网卡驱动的方式解决问题,解决方法如下: root登录 lspci | ...
- redmine常见问题
1.测试Pop3邮件收件任务:rake redmine:email:receive_pop3 RAILS_ENV="production" host=pop.cecgw.cn po ...
- android ContentObserver
android 设置飞行模式 : 长按关机键 3 秒. 工作中,需要开启一个线程大量的查询某个数据库值发送了变化,导致的开销很大,后来在老大的指点下,利用了 ContentObserver完美的解 ...