博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ireport常见问题
阅读量:7062 次
发布时间:2019-06-28

本文共 2457 字,大约阅读时间需要 8 分钟。

$V{PAGE_NUMBER} 表示当前是第几页 ,在text field 的 选项evaluation time选report是共几页,now表是当前页。页码可在ireport里直接设置。 “共几页 第几页”

iReport报表开发中遇到的问题:

1。 报表中工具栏中

T :不会变得文字

F :程序传过来的文字字段

2。 在网页上预览报表什么内容也不显示

解决方法:

编辑-〉报表属性-〉More...->在“如果没有数据时:后面的下拉菜单中选 All sections,no detail”

如果没有数据时:后面的下拉菜单中的几个选项的意思分别是:

No pages [当Detail中没有数据时没有页显示]

Blank page [当Detail中没有数据时出现一个空白页面]

All sections,no detail [当Detail中没有数据时会显示detail以外的东西]

No-date section [] 暂时我也不知道,呵呵。

3。 Detail 和columnFooter 只间总是有一段空白

解决方法:从 iReprot 工具列设定 [预览] -> [报表属性]

打开[More...] -> [Floating column footer] 打勾columnFooter 就會和 Detail 在一起了。

4。 报表中Detail循环部分内容的显示格式

报表中Detail循环部分内容的显示格式与报表属性-〉Page Margin -> 下边界的大小有关

比如detail中有两列,当数据将第一列填充满时[根据detail页面大小]

会将数据自动填充到第二列[detail页面大小能决定什么时候第一列能被数据填充满]

多条数据在Detail中填充的时候是按照页面给显示数据所留大小填充的

控制显示多少行数据的时候严格按照页面能显示多少条数据来作出判断

按照条件显示的控件在不显示的时候仍然占据页面位置。

5。文字框中 Common 选项卡:

Print when expression 属性里是Boolean类型代表此字段的显示与否内容一般是:

new Boolean(结果是boolbean类型的表达式)

6。文字框中Font选项卡字体选择是成套的才能正确显示:

[1] Font Name:选 宋体

PDF Font Name:选 STSong-Light

最后 PDF Encoding:选 UniGB-UCS2-H (Chinese Simplified)

[2] 引用外部字体如隶书

将字体文件放入iReport安装目录的fonts文件夹下如隶书[D:\iReport-3.0.0\fonts\SIMLI.TTF]

Font Name:选 隶书

PDF Font Name:选外部字体文件 隶书 (SIMLI.TTF)

最后 PDF Encoding:选 Identity-H (Unicode with horizontal writing)[是外部文件都选它]

7。动态文字框中 Text Field 选项卡:

中间有个 [复选框 Blank when null] 表示:当此文本框内容为空时是否显示null。

钩上表示为null时显示空白会比较好看些,不钩显示null。

8。$V{PAGE_COUNT} 表示当前是这页的第几条记录[在detail循环相关区域用]

$V{PAGE_NUMBER} 表示当前是第几页

$V{COLUMN_NUMBER} 表示detail有几字段

9。字段即列数在工具中编辑->报表属性->字段数中设置。

字段数把detail区分为相应的这些列,当一页中第一列显示不过了会自动跳到本页的第二列以此类推

10。报表中数据转换类型:

$V{PAGE_COUNT}.intValue() 报表中V属性转为int

Integer.valueOf($P{pageCount}).intValue() 报表中P属性转为int

Double.valueOf($F{realSum}) 报表中F类型转为Double

($V{realSums}.doubleValue()+$V{realSumMs}.doubleValue()) double类型相加求和

Boolean.valueOf(((List)$F{mentalState}).contains("02")) 将boolean值转为Boolbean

11。 报表中数据的操作:

文字框中的加法操作时:加号左右必须是数值类型如不是,加号就变成连接作用,而不是做加法操作了。

(($V{realSums}!=null?$V{realSums}:Double.valueOf(0)).doubleValue()

+

($V{realSumMs}!=null?$V{realSumMs}:Double.valueOf(0)).doubleValue())+" 元"

12。 报表中用到的一些方法:

contains()方法:((List)$F{mentalState}).contains("02") 从List类型的mentalState中查找 02 返回boolean值

equals()方法:用于两个String类型之间的比较

valueOf()方法括弧中间方的值只能是String类型的,不然编译会报错

13。 报表区域结构说明:

title 报表头[只在第一页的最上面显示]

pageHeader 页头[每一页都会显示]

columnHearder [和columnFooter作用差不多,columnHearder在detail之前显示]

detail [需要循环显示的东西在此处写]

columnFooter [展示在循环显示的下面]具有循环的$V{PAGE_COUNT}当前记录

pageFooter 报表尾[最后一页的最下方显示]

summary [此处用于做统计,显示的话用处不大]

转载地址:http://junll.baihongyu.com/

你可能感兴趣的文章
「前端」尚妆 UI 组件库工程实践(weex vue)
查看>>
Vue.js 2.0实战精华梳理
查看>>
技术的成长曲线
查看>>
DOM常用操作
查看>>
【译】Cloudera Manager(CDH)入门系列之四 (管理员控制台)
查看>>
编程常用动词细微差别
查看>>
如何通过Dataworks禁止MaxCompute 子账号跨Project访问
查看>>
聊聊reactive streams的backpressure
查看>>
android studio 2 3 的maven坑
查看>>
来分享一个我自己写的HTML模板引擎,Leopard
查看>>
基于阿里云数加构建企业级数据分析平台
查看>>
React Native安卓模拟器调出Dev Setting菜单
查看>>
Laravel整合Bootstrap 4的完整方案
查看>>
Swift枚举相关值
查看>>
少走弯路,给Java 1~5 年程序员的建议
查看>>
08.Android之View事件问题
查看>>
[ JavaScript ] 数据结构与算法 —— 链表
查看>>
Java程序员幽默爆笑锦集
查看>>
小程序button引导用户授权
查看>>
机器人定位导航技术 激光SLAM与视觉SLAM谁更胜一筹?
查看>>