ireport制作小技巧
ireport制作小技巧
首先ireport中大小写问题:
1、parameter中如果小写,引用也小写
2、$F{},一般都大写
3、子报表中引用父报表中查询出来的值时,只需要小写即可,即在子报表的parameter中只需要小写
一、iReport 中获取系统当前时间
1、选择TextField类型为 java.util.Date,选择TextField的Expression Class(类型)为 java.util.Date
2、在pattern中选择时间格式
3、在TextField Expression中写 java.util.Calendar.getInstance().getTime()
二、避免为空
方法一、在属性选项中找到blank when null即可
方法二、$F{ABB614}?$F{ABB614}:""
三、设置时间格式
方法一、可以使用内嵌函数截取字符串来显示
1、利用substring来截取 (针对String类型)
$F{AAE036}?(($F{AAE036}.toString()).substring(0,4)+"年"+($F{AAE036}.toString()).substring(4,6)+"月"+($F{AAE036}.toString()).substring(6,8)+"日"):""
2、利用内置的函数来取 (针对date类型)
"日期"+($F{ABB017}?String.valueOf($F{ABB017}.getYear()+1900)+"年"+String.valueOf($F{ABB017}.getMonth()+1)+"月"+$F{ABB017}.getDate():"")+"日
方法二、设置 Exception class 为date类型,然后在pattern中设置时间格式,可以自己写,例如××××年××月××日,但是要注意,如果为空无法用$F{ABB614}?$F{ABB614}:"",只能使用blank when null这种方法
四、在ireport中使用html中的标签
例如:<br>
1、找到属性面板中的markup选择为html
2、在需要的地方加入<br>
五、使某个字段中的数据在特定条件下才打印出来
通过设置字段的PrintWhenExpression,我们可以限定只有在某些特定的条件下字段值才会被打印出来,在PrintWhenExpression 中需要设置Boolean 型的表达式,如:new java.lang.Boolean($F{type}.trim().equals("mod_cook"))
六、嵌套子报表
1、在面板属性中找到Subreport,然后拖进你要放入的地方,放开鼠标后,会有一个新建报表。新建完报表之后会有个名为SUBREPORT_DIR 的Parameter,string类型,他会有个默认路径,指的是子报表的路径。由于子报表往往有多条数据,故最好单独放在一个detail中(例如:查询出来有多条数据,那么会循环显示在detail中)。
2、如果子报表中需要传入数据,那么就先点中子报表,然后在属性栏(不是参数里)中找到“parameters”,新建一个,例如:
name为abz050 ,Expression为$F{ABZ050},因为这里的值是父报表查询的出来之后的值,所以不是用Parameter,而是Field。
3、在子报表中引用值,首先在子报表中定义一个变量Parameter,然后引用即可。
那为什么能找到呢?
因为:你在创建子报表的时候,也会自动创建一个Parameter,名称默认为SUBREPORT_DIR,它里面有个默认路径(新传入的路径会覆盖该默认路径)。
同时,可以点中子报表查看他的属性,里面有个Subreport Exception的值为$P{SUBREPORT_DIR} + "子报表名称.jasper",这样系统就能找到了。当然系统还会自动配置一些其他子报表属性,具体的自己新建一个看看吧。
七、自动换行
如果不处理一下,有些字段的内容太长了就会显示不全。选中该字段,右击->属性,在Text Field把Stretch with overflow勾上。
同时把该行所有的字段选上,右击->属性,在Common的Stretch Type选择Relative to tallest object。
八、内嵌函数的使用
举例:($F{ABB617}).toString()).substring(0,4)+"年" 把ABB617(Date类型)先转化成String然后截取年
ireport中使用内嵌函数只要在字段上看看他有哪些方法,然后直接使用即可。
九、高度根据内容自动变高
1、选中主键,在属性中找到 Stretch With Overflow并选中。并把他单独放在一个Detial或者其他 里面即可。
2、还有一个属性叫Stretch type,默认的值是No Stretch,可以改成Relative To Band Height。
第二个步骤我个人认为可做可不做。
当然第二个步骤的功能在做表格的时候很有用,例如:表格是2列,那么两边的数据肯定不一样,或者是左边就是静态的,那么如果不选择这个属性,你就会发现,右边的数据很多的时候会扩充,但是左边不会,这个时候,我们就可以设置该属性,并把它们放到一个单独Detial或者其他容器中,那样 左右两边 就会等高了
十、设置共几页,第几页
$V{PAGE_NUMBER} 表示当前是第几页 ,在text field 的 选项evaluation time选report是共几页,now表是当前页。页码可在ireport里直接设置。 “共几页 第几页”
我是写在page footer 中。
ireport制作小技巧的更多相关文章
- ireport制作小技巧<Reproduce>
首先ireport中大小写问题: 1.parameter中如果小写,引用也小写 2.$F{},一般都大写 3.子报表中引用父报表中查询出来的值时,只需要小写即可,即在子报表的parameter中只需要 ...
- 【flash】关于flash的制作透明gif的一个小技巧
关于flash的制作透明gif的一个小技巧 或者说是一个需要注意的地方 1.导出影片|gif,得到的肯定是不透明的.2.想要透明背景,必须通过发布.3.flash中想要发布gif动画的话,不能有文字, ...
- iReport 5.6.0 组件面板为空 get小技巧
问题描述 本人使用的是iReport 5.6.0版本,正常安装,打开后,创建了一个报表实例,但是,菜单栏--> 工具--> 组件面板 为空.效果如下: 这就尴尬了,没有组件面板,还怎么绘制 ...
- GJM : Unity3D - UI - UI边缘流光特效小技巧 [转载]
感谢您的阅读.喜欢的.有用的就请大哥大嫂们高抬贵手"推荐一下"吧!你的精神支持是博主强大的写作动力以及转载收藏动力.欢迎转载! 版权声明:本文原创发表于 [请点击连接前往] ,未经 ...
- Chrome 的 100 个小技巧 中文版
英文原版<100 Tips For Chrome, Chrome OS and ChromeBook Users>作者博客 - chromestory.com 本文是对<100 Ti ...
- 【Xamarin挖墙脚系列:代码手写UI,xib和StoryBoard间的博弈,以及Interface Builder的一些小技巧(转)】
正愁如何选择构建项目中的视图呢,现在官方推荐画板 Storybord...但是好像 xib貌似更胜一筹.以前的老棒子总喜欢装吊,用代码写....用代码堆一个HTML页面不知道你们尝试过没有.等页面做出 ...
- React Native底|顶部导航使用小技巧
导航一直是App开发中比较重要的一个组件,ReactNative提供了两种导航组件供我们使用,分别是:NavigatorIOS和Navigator,但是前者只能用于iOS平台,后者在ReactNati ...
- MAC使用小技巧之用好mac电脑?的10个必知的小技巧!
很多朋友是不是都有这样的困惑,刚接手Mac电脑,无论是笔记本亦或是台式机,很是不方便,因为windows系统那种习惯已经先入为主了,今天就给大家普及一些小技巧. 当你看到这篇文章,不管你有没有mac电 ...
- 9 个 Yoinkmac使用小技巧,提升你的 Mac 文档解决效率
Yoinkmac是一个工具类应用程序,用于在苹果电脑上进行临时文档暂存,就像一个“中转站”将文件从一个窗口轻松移动到另一个窗口.类似的软件包括苹果电脑上的Dropshelf和Unclutter,但相比 ...
随机推荐
- ubuntu12.04之后该死的文件关联
这是抱怨贴~~~当然也提供了解决方法~敬请期待. 这个帖子中我们介绍如何在ubuntu下安装quartus II 13.1,安装完毕功能正常,但是有个“小问题”就是如何在文件管理器中(这里是nauti ...
- DOM文档对象总结
DOM总结: DOM:文档对象模型document object model DOM三层模型: DOM1:将HTML文档封装成对象 DOM2:将XML文档封装成对象 DOM3:将XML文档封装成对象 ...
- WPF 多线程处理(4)
WPF 多线程处理(1) WPF 多线程处理(2) WPF 多线程处理(3) WPF 多线程处理(4) WPF 多线程处理(5) WPF 多线程处理(6) 开始一个线程处理读取的文件并且更新到list ...
- ProgressDialog弹出时的底色变暗(转)
背景:在做一个进度条时,不想让它的背景变暗,以免影响其他区域的正常显示. 在网上搜索时,看到的方法多数是: 方法一 :在代码中 可以这么设置 Window mWindow = getWindow(); ...
- Netsharp快速入门(之12) 销售管理(开发发货单工作区)
作者:秋时 杨昶 时间:2014-02-15 转载须说明出处 4.4 发货单 4.4.1 部件工作区设置 1.设置部件工作区,需要设置的部件如下 2.设置单据和明细列表的字段,设置完成 ...
- 视频FMS服务器带宽成本分析
一.现状 调查了一下,主要有两种主流方式,WebRTC或者Flash. 1. WebRTC(不支持IE浏览器,已排除):网页实时通信(英语:Web Real-Time Communication)的缩 ...
- AsyncTask不能同时运行多个实例解决办法
在项目中使用AsyncTask时,发现创建的多个实例无法同时运行,比如: AsyncTask t1 = new MyTask(); AsyncTask t2 = new MyTask(); t1.ex ...
- skrollr 中文教程
skrollr 0.6.29 skrollr是一个单独的视差滚动的JavaScript库,移动端(Android,iOS,等)和pc都可以使用,压缩后大小仅仅不到12K 使用方法 首先你需要引入skr ...
- HDU 5486 Difference of Clustering 图论
题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=5486 题意: 给你每个元素一开始所属的集合和最后所属的集合,问有多少次集合的分离操作,并操作和不变操 ...
- [转载]Spring Autowire自动装配介绍
转自: http://www.cnblogs.com/zhishan/p/3190757.html 在应用中,我们常常使用<ref>标签为JavaBean注入它依赖的对象.但是对于一个大型 ...