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位的整数,不带小数点.当时就 ...
随机推荐
- Linux服务器搬迁记(一)
更换服务器必过之坑(一):文件转移 Linux服务器一般通过ssh进行远程操作,为了避免各种权限问题导致转移不成功,我一般直接使用root账户.这次却是行不通了.ssh进行文件传输,默认禁止用root ...
- Linux从零单排(二):setuptools、pip、anaconda2的环境配置
为了更方便的使用Python的类库,需要进行相应的配置 (一)setuptools的配置 1.setuptools的下载 命令行输入wget https://pypi.python.org/packa ...
- vi(Visual Editor)常用的命令
任何用户最常做的事要数创建和编辑文件,包括文档.报告和文字,vi(Visual Editor)是一个有效而相对简单的全荧幕编辑,使用vi,只要记著少量基本指令,就可以开始起步,再学习其他更复 杂的指令 ...
- JMeter学习-028-JMeter默认jmx脚本分发目录(路径)定制
我们在分布式执行参数化脚本时,为尽可能多的利用Slave资源,尽可能将参数文件配置为相对路径,以更好的去适配Slave环境.与此同时,每台Slave的服务jmeter -s 启动的路径可能不尽相同,同 ...
- Smokeping安装教程
Smokeping安装教程 #Smokeping2.6.8安装教程 #2016.3.6 改编v1.0 #Linux运维技术交流 347163978 环境 CentOS release 6.4 (F ...
- XSLT简介
什么是? http://www.w3school.com.cn/xsl/xsl_intro.asp XSLT 是一种用于将 XML 文档转换为 XHTML 文档或其他 XML 文档的语言. XPath ...
- 解决从jenkins打开robot framework报告会提示‘Opening Robot Framework log failed ’的问题
最新的jenkins打开jenkins robot framework报告会提示如下 Verify that you have JavaScript enabled in your browser. ...
- 新上市Lighthouse专用芯片TS3633规格介绍
背景介绍 Valve 有远大的愿景.它决心要把 SteamVR 追踪系统推向世界,从虚拟现实里的空间定位,到机器人领域,Valve 想为各种环境下的跟踪应用提供支持. 上个月,Valve 方面宣布会把 ...
- 模拟jQuery简单封装ajax
/*模拟jQuery的写法 (简单写法)*/ var $={}; /*ajax*/ $.ajax = function (options) { /* * 请求 * 1.请求接口 type get po ...
- hduoj 1251 统计难题
http://acm.hdu.edu.cn/showproblem.php?pid=1251 统计难题 Time Limit: 4000/2000 MS (Java/Others) Memory ...