首页 > 代码库 > jspersonft有关Table数据绑定(一)
jspersonft有关Table数据绑定(一)
一:前言
在公司来就学着做报表,觉得这个报表学着还是很有意义的。jspersonft我在网上搜了一些有关的资料但是不是很多,现在就是学一点就记载一点。好记性不如烂笔头嘛!
二:在jspersonft定义style样式,边框变“黑”、加粗:
几个属性调试如下:pdf Encoding:UniGB-UCS2-H(chinese-Simplified);
pdf font name:STSong-Light;
font-name:宋体;
size:12;
padding and borders(边框):lind width:1(这里需要选择四个方位的边框在进行调试)
三:有关在jspersonft中table数据循环的问题
(1)现在下面步骤来一步步说明表格式的建立
1.1如下图所示,先在右边的组件表中拉一个Table放到Detail1中,结果如下图
1.2:在工具正中间的最下方有“Main Report”和Table1的字样,点击“Table1”进入界面如下:
1.3:可以看到有“表头”,“列头”,“详细(Detail1)”,"列的footer","表格的footer",现在先加列的头,方法是入下图一样,在“column Header”中选择Column 3然后右键“Add cell”,即是添加一列表头
1.4:如果想在最后加一个单元格,就在“Detail1”中右键选择“Add Column to the end”,然后删除“Table Header”、“column Footer”,"Table Footer"中的“column 6”,如下图
删除上述图形中选中的几个column即可。
接着就是开始放表头字段等如下:
下一步:
1.5:下面就可以谈下怎么设置Table的数据源问题,有两种方法,一是在工具中设置,二是在代码中设置
(一)先是第一种方式在工具中设置数据源:
下面就是在代码中查询出数据放入到tables的字段传过来,代码如下:
ServletContext context = getSession().getServletContext(); String filePath=context.getRealPath("/report/testTable.jasper"); String[] id=getRequest().getParameterValues("id"); List<Map<String,Object>> list=remandService.getData(id); //下面是补空就是如果表格数据没有10行的行补空操作 if(list==null){ list=new ArrayList<Map<String,Object>>(); } int count=10; if(list.size()<=count){ for(int i=list.size();i<10;i++){ list.add(null); } }else if(list.size()>count){ int count1=(list.size()) % 10; for(int i=count1;i<10;i++){ list.add(null); } } List<Map<String, Object>> data = http://www.mamicode.com/new ArrayList<Map<String, Object>>(); Map<String, Object> map =new HashMap<String, Object>(); map.put("tables", list); data.add(map);
今天就先说这么多有关jaspersoft中的Table进行数据绑定的操作的。有时间就继续写,我要先把我自己的论文写了,麻烦啊。真心不想写啊,我都出来工作了,还是得交作业,我滴个乖乖啊。每次写博客园对于自来说都是一次温习,都加深了自己对于这方面知识的印象,努力!!!(最后我啰嗦一句,我这个还是没有看到有关像api的文档,想在我也还是只停留在会用的阶段,什么时候要拆分开来,自己做一做,今天去官网下载,也不知道是不是,如果有的大神们可以给我一份像api的那样的文档吧。)
jspersonft有关Table数据绑定(一)