使用JasperReport ireport制作报表在liunx出错

 

报路径问题

在使用这个方法的时候JasperCompileManager.compileReportToFile(s1/*源路径*/,s2/*目标路径*/)用两个参数的

 

报字体“宋体”找不到

C:\WINDOWS\Fonts下将字体拷贝到classpath(src)下面,然后在classpath下新建jasperreports.properties内容为net.sf.jasperreports.awt.ignore.missing.font=true

转载于:https://www.cnblogs.com/ooi-/p/3384093.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以在iReport使用一个特殊的变量"$V{PAGE_NUMBER}"来判断当前页码是否为第一页,从而控制PageHeader的显示。 具体操作步骤如下: 1. 右键点击报表设计区域,选择“Report Properties”,打开报表属性设置窗口。 2. 在“Parameters”选项卡中,点击“Add”按钮,添加一个参数,命名为“isFirstPage”,类型为“java.lang.Boolean”。 3. 在“Variables”选项卡中,点击“Add”按钮,添加一个变量,命名为“pageHeaderDisplayed”,类型为“java.lang.Boolean”,初始值为“false”。 4. 在报表设计区域中添加一个PageHeader元素,并在其中添加需要显示的内容。 5. 右键点击PageHeader元素,选择“Properties”,打开元素属性设置窗口。在“Print When Expression”文本框中输入以下表达式: $V{PAGE_NUMBER} == 1 && $P{isFirstPage} == true && $V{pageHeaderDisplayed} == false 这个表达式的意思是:如果当前页码为1,并且isFirstPage参数为true,并且pageHeaderDisplayed变量为false,则显示PageHeader元素。 6. 在PageHeader元素的“Properties”窗口中,找到“Print When Expression”属性下方的“Evaluation Time”选项,选择“First Page”。 7. 在报表的Java代码中设置isFirstPage参数为true,并在PageFooter中设置pageHeaderDisplayed变量为true,以确保PageHeader只在第一页出现。 参考代码如下: ``` Map<String, Object> params = new HashMap<String, Object>(); params.put("isFirstPage", true); JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, params, dataSource); // 在PageFooter中设置pageHeaderDisplayed变量为true JRDesignVariable pageHeaderDisplayed = new JRDesignVariable(); pageHeaderDisplayed.setName("pageHeaderDisplayed"); pageHeaderDisplayed.setValueClass(Boolean.class); pageHeaderDisplayed.setResetType(ResetTypeEnum.REPORT); pageHeaderDisplayed.setCalculation(CalculationEnum.NOTHING); pageHeaderDisplayed.setIncrementerFactoryClass(DefaultIncrementerFactory.class); pageHeaderDisplayed.setIncrementerFactoryClassName(DefaultIncrementerFactory.class.getName()); pageHeaderDisplayed.setInitialValueExpression(new JRDesignExpression(Boolean.FALSE)); jasperDesign.addVariable(pageHeaderDisplayed); ``` 这样就可以实现PageHeader只在第一页出现了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值