近来工作中使用到ireport对打印模板改造,记录下所遇见的问题及解决方式。好记性不如烂笔头~ 关于ireport的基本操作就不作记录了,某度一搜一大把
  1. 怎样控制组件是否展示?(若组件需要展示的内容为空则不展示并使组件不占位置?)
  2. 怎样使用TABLE组件?(若只需要展示一个列表中code为奇数的信息,该怎么过滤?)
  3. TABLE组件中内容多少不确定,怎么维持整体的相对位置整齐?(不至于下面的覆盖掉上面的)
  4. 空白页问题
  5. 怎样分页
  6. 怎样给同一个组件不同条件下设置不同的字体或者展示风格?
  7. 不确定组件内容多少,怎么让它自动换行?
  8. 怎样跨行跨列?
  9. 怎样让组件展示html内容?
  10. 怎么在ireport中生成二维码?

1. 怎样控制组件是否展示?(若组件需要展示的内容为空则不展示并使组件不占位置?)

  勾选这2个属性。

  

2. 怎样使用TABLE组件?(若只需要展示一个列表中code为奇数的信息,该怎么过滤?)

  Table数据源设置:

1. 查看整个页面的数据源路径(/auto-print-dTO/auto-print-detail-dTOList/auto-print-detail-dTO)

    2. 查看table set数据源(/auto-print-dTO/auto-print-detail-dTOList/auto-print-detail-dTO/voucher-dTO/c01-duty-list/duty-dTOFor-print)

3. 设置table数据源(((net.sf.jasperreports.engine.data.JRXmlDataSource)$P{REPORT_DATA_SOURCE}).subDataSource("auto-print-detail-dTO/voucher-dTO/c01-duty-list/duty-dTOFor-print[(number(duty-code) mod 2)=1]"))

注意:

  1. 第三步中填写的路径为第一步与第二部的相对路径(即从页面数据源路径最后一个节点开始到table set数据源路径最后一个节点)

2. 为过滤只展示list中code为奇数的信息,可在duty-dTOFor-print[(number(duty-code) mod 2)=1]编写java表达式。也可以这样写死。。duty-dTOFor-print[duty-code!='01' and duty-code!='03' and duty-code!='05']

3. TABLE组件中内容多少不确定,怎么维持整体的相对位置整齐?(不至于下面的覆盖掉上面的)

在TABLE组件下面的所有组件设置 PositionType属性为Float 

4. 空白页问题

  一般都是页面设置的属性为固定,而ireport工具自动识别认为页面展示不完全才会自动扩展下一页导致空白页。

解决方式:

      第一步: 全选页面所有组件设置PositionType属性为Float,这时候预览效果发现之前的空白页会有内容(也就是工具认为第一页展示不下的内容)

      第二步:找到实际展示内容高度大于所给组件高度的组件(有点绕~一般都是:table、sureport)

      第三步: 给这些组件的高度设置成实际内容展示高度即可。(也就是给它预留足够的位置)

5. 怎样分页

  二种解决方式:

        1. 添加分组

2. 添加break

6. 怎样给同一个组件不同条件下设置不同的字体或者展示风格?

  

7. 不确定组件内容多少,怎么让它自动换行?

  

8. 怎样跨行跨列?

  第一步:选中需要跨的列

  

第二步:给增加的group添加cell

  

效果图:

9. 怎样让组件展示html内容?

  

10. 怎么在ireport中生成二维码?

  想添加附件来着。。结果发现貌似不可以,也不知道老司机们是怎么玩的orz,只好来一张长图了~~~O(∩_∩)O哈哈哈~(博客园处女作,激动的又到下班点了~)

最新文章

  1. Python标准模块--asyncio
  2. 第一次IT技术面试经历
  3. linux内核分析课程笔记(二)
  4. bzoj 2326: [HNOI2011]数学作业
  5. 【转】PLSQL developer 连接不上64位Oracle 的解决方法
  6. iOS iphone屏幕分析(岂止而大)
  7. Git教程(9)集中式工作方式常用的设计分支的方案
  8. BNUOJ-26474 Bread Sorting 逆序对
  9. Big Clock
  10. VS2010编译以前版本工程时 ERROR CVT1100:duplicate resource,type:MANIFEST解决办法
  11. UVa 10523 - Very Easy !!!
  12. idea checkout 项目
  13. v$lockv和$locked_object的区别
  14. MariaDB MaxScale
  15. 电商项目中学到的git命令
  16. Weekly Contest 133
  17. Access与SQL Server 语法差异
  18. python并行编程
  19. win10开机 依赖服务或组无法启动
  20. python项目通过配置文件方式配置日志-logging

热门文章

  1. Struts2——(4)OGNL与struts标签
  2. Win7的diskpart硬盘分区
  3. Net多线程编程
  4. Cocos2dx 温馨提示(十)三种缓存类演示
  5. QWidget居中显示(qt窗口坐标原点是在”左上角”的,有图)
  6. 2-5 利用RestTemplateCore简化调用Consul中的服务
  7. Multi-tasking RTOS for microprocessors with limited memory by saving only a single return address per task during context switching
  8. arcserver开发小结(三)
  9. matlab 类型转换(类型判断)
  10. 自由度(degree of freedom)