要在jasper报告中显示的多个条件水印

时间:2015-06-27 06:29:00

标签: java jasper-reports

我有3个水上标记,已批准,取消和草稿,我需要根据条件显示它。所以我添加了条件:

for cancelled copy = new Boolean(!$P{Canceledcopy_p}.toString().equals("T") ? true:false)

for approved copy = new Boolean(!$P{Approvedcopy_p}.toString().equals("T") ? true:false)

for drafted copy = new Boolean(!$P{FinalApprover_P}.toString().equals("T") ? true:false)

我预览时显示正常,但是当我生成报告时它没有显示.Below是我的java代码:

     if (POApplst.getStatusID() == 1) {
        map.put("Approvedcopy_p", "F");
        map.put("FinalApprover_P", "T");
        } else {
        if (POApplst.get(POApplst.size() - 1).getStatusID() != 1) {
            map.put("Approvedcopy_p", "T");
            map.put("FinalApprover_P", "F");
        } else {             
            map.put("Approvedcopy_p", "F");
            map.put("FinalApprover_P", "T");
                if (Canceled) {                                   
                    map.put("Canceledcopy_p", "F");
                    map.put("Approvedcopy_p", "T");
                    map.put("FinalApprover_P", "T");
                } else {
                    map.put("Canceledcopy_p", "T");
                }
        }
    }
          if (Canceled) {
            map.put("Canceledcopy_p", "F");
            map.put("Approvedcopy_P", "T");
            map.put("FinalApprover_P", "T");
        } else {
            map.put("Canceledcopy_p", "T");
        }

1 个答案:

答案 0 :(得分:1)

代替布尔类型(T或F)。我所做的是,如果它被批准,那么其他人将为null,除了批准的副本,其中批准的图像将从bufferedImage enabled = ImageIO.read(classLoader.getResourceAsStream(“/ image path /”+“logo.jpg”)); 。以类似的方式,除了复制之外,所有都将为null。

     if (POApplst.get(POApplst.size() - 1).getStatusID() != 1) {
                    parameter.put("Approvedcopy_p", null);
                    parameter.put("FinalApprover_P", draft);

                } else {

                    parameter.put("Approvedcopy_p", approved);
                    parameter.put("FinalApprover_P", null);

                    if (Canceled) {
                        parameter.put("Canceledcopy_p", canceled);
                        parameter.put("Approvedcopy_p", null);
                        parameter.put("FinalApprover_P", null);
                    } else {
                        parameter.put("Canceledcopy_p", null);
                    }
                }