iReport报表开发中常见的问题

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

注明:
$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 [此处用于做统计,显示的话用处不大]。

相关文档
最新文档