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 = new ArrayList<Map<String, Object>>();
        Map<String, Object> map =new HashMap<String, Object>();
        map.put("tables", list);
        data.add(map);

今天就先说这么多有关jaspersoft中的Table进行数据绑定的操作的。有时间就继续写,我要先把我自己的论文写了,麻烦啊。真心不想写啊,我都出来工作了,还是得交作业,我滴个乖乖啊。每次写博客园对于自来说都是一次温习,都加深了自己对于这方面知识的印象,努力!!!(最后我啰嗦一句,我这个还是没有看到有关像api的文档,想在我也还是只停留在会用的阶段,什么时候要拆分开来,自己做一做,今天去官网下载,也不知道是不是,如果有的大神们可以给我一份像api的那样的文档吧。)

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。