`

ireport 参数换行处理

    博客分类:
  • WARN
阅读更多
ireport中的几个小问题:
1.ireport 中对于$F{propertyName},$V{variableName}如何换行
2.ireport中如果静态文本太多如何换行
3.ireport中如何解决换行导致的单元格对不齐问题
4.在ireport中如何把java.util.Date属性显示成yyyy-MM-dd形式,默认ireport的Date显示形式为"09-10-11 上午12:00"
5.ireport使用java.math.BigDecimal进行精确的数值运算

前置条件:
这里讲的换行,是ireport根据显示数据元素$F{propertyName},$V{variableName}的宽度和数据内容进行自动换行,而非自己设置的换行
解决:
1.对于$F{propertyName},$V{variableName}只需在属性表中选中Stretch With Overflow即可
2.ireport中静态标记label不支持多行显示(目前个人理解),那么当要显示很多静态文本,而列头不够大,那该怎么办?
解决办法:我们定义一个$V{variableName}变量,变量的值默认为要显示的静态文本,那么此时我们只有对$V{variableName}进行1同样设置即可
3.鉴于ireport中显示的表格是拼凑出来(由每一个单独的单元格组成),要显示表行效果那么要求每个单元格高度是一样的,如果在显示时
一个单元格由于内容太多而换行了,而其它没换行那么其显示高度肯定不一致了(具体看图ireport中$F{}换行后导致单元格对不齐问题.bmp),此时我们
只要把该行所有单元格的属性Stretch Type="relative to band height"即可
4.对于ireport以javabean做数据源,且要显示的记录中有数据类型为java.util.Date的属性。
如果直接显示该属性那么页面显示日期格式为 "09-10-11 上午 12:00" 而我们要求显示日期格式为yyyy-MM-dd
那么此时我们可以这样做:定义变量$V{variableName}其表达式为 "new java.sql.Date($F{日期属性}.getTime()).toString()",此时直接用该变量代替$F{日期属性}即可

单元格对不齐

$F{}换行

label换行

分享到:
评论
3 楼 jc_dreaming 2010-01-15  
要使用参数的形式,必须给你的报表配置参数


public void publicMethod(ActionMapping mapping, ActionForm form,
Map parameters, File reportFile, HttpServletRequest request,
HttpServletResponse response) throws Exception {

JasperPrint jasperPrint = null;
Connection conn = dataSource.getConnection();
try {
JasperReport jasperReport = (JasperReport) JRLoader
.loadObject(reportFile.getPath());

jasperPrint = JasperFillManager.fillReport(jasperReport,
parameters, conn);


request.getSession().setAttribute("jasperReport", jasperPrint);

} catch (JRException e) {
.......
}
}
2 楼 jc_dreaming 2010-01-15  
终于通过测试了...
呵呵,我们在使用ireport时会使用variables,parameters,fields!
其中fields:是数据库中的字段,直接在报表中使用数据库相关信息,$F{filedsName}表示。
variables:这是报表逻辑元素中使用,我经常用于统计报表时,$v{name}表示。
根据你表达式$p{id},知道使用参数的形式,是你的应用所需要提供给报表的入口。
这里我提供给你我写的相关代码实现:


//读取报表文件
		File reportFile = new File(context.getRealPath(reportFilePath));
		//设置参数
		Map parameters = new HashMap();
		parameters.put("startDate", caseStartDate);
		parameters.put("endDate", caseEndDate);
		parameters.put("receive", count1 + "");
		parameters.put("receiveConv", count1Conv + "");
		parameters.put("receiveSp", count1Sp + "");	
		parameters.put("finish", count2 + "");
		parameters.put("finishConv", count2Conv + "");
		parameters.put("finishSp", count2Sp + "");
		parameters.put("overtime", count3 + "");
		parameters.put("overtimeConv", count3Conv + "");
		parameters.put("overtimeSp", count3Sp + "");
		parameters.put("userName", user.getUserName());
		//封装调用报表程序...
		publicMethod(mapping, form, parameters, reportFile, request, response);


那么在看看报表截图:

1 楼 leifeng2 2010-01-13  
请问一下,我这个静态文本中传递的参数怎么不显示:

<staticText>
<reportElement x="98" y="110" width="349" height="125"/>
<textElement/>
<text>
<![CDATA[沙发上的范德萨上的 $p{id}  风景的说法都是飞]]>
</text>
</staticText>

其中,$P{id}是我的参数,怎么样才能在预览的时候显示我传递进来的id值?

相关推荐

    ireport 报表常见的问题解决方案

    【ireport 报表常见问题解决方案】 1. 引言 ireport 是一款广泛使用的开源报表工具,它允许开发者创建复杂、美观的报表。编写此文档的目的是为了帮助开发者们解决在使用 ireport 过程中遇到的一些常见问题,从而...

    ireport使用 参数Parameter的用法和dataset的用法 table的用法

    数据集是iReport中用于存储和处理数据的容器,它可以从数据库、XML文件或任何其他数据源获取数据。在报表设计中,数据集通常包含一个SQL查询或自定义代码,用于提取所需的数据。在本例中,我们通过编写主查询语句,...

    ireport 几个小知识总结

    这些知识点涵盖了Ireport在处理中文字符、字段显示、动态SQL、条件打印以及报表输出到打印机等方面的基础操作,是进行报表设计和开发时经常会用到的技术点。掌握这些技巧,能帮助开发者更高效地利用Ireport创建和...

    ireport中布局设置

    在IReport中,如果一个字段的值(如`%V{countries}`)的长度超过了预设的TextField宽度,可以通过设置“Stretch with overflow”属性来实现自动换行。这个选项使得TextField在内容超出宽度时会自动扩展高度以显示...

    ireport报表参数传到子表步骤

    在iReport设计报表时,有时候我们需要将主报表的数据传递给子报表,以便子报表能够根据这些参数进行定制化的数据查询和展示。这个过程涉及到的主要知识点是报表参数的传递,也就是所谓的"传参"。以下是对这个过程的...

    ireport+jasperreport开发中问题解决方案

    在使用iReport和JasperReport进行报表开发时,可能会遇到一系列问题,这些问题涵盖了报表样式、内容展示、数据处理等多个方面。以下是对标题和描述中提到的一些常见问题的详细解答: 1. **乱码问题**:当报表中出现...

    Ireport4.0.2+jasperReport4.0.2整合part06

    Ireport4.0.2+jasperReport4.0.2整合 的开发工具 用于strust2的完美结合 生成任何格式的报表(pdf、xml、xls、html)。。。。。。本人已实现

    ireport使用subdataset主表和子数据集进行参数传递

    本话题将详细探讨如何在 iReport 中使用 `subdataset`(子数据集)与主数据集配合,以实现参数传递,从而实现动态的数据过滤。 首先,我们需要理解主数据集和子数据集的概念。主数据集是报表的基础,它通常对应于一...

    iReport 4.5 学习笔记

    ##### 5.4 iReport 中自动换行的设置 - **文本框属性**:选中文本框,设置自动换行选项。 - **宽度限制**:根据文本框的宽度自动换行。 - **高度调整**:自动调整文本框的高度以适应所有文本内容。 #### 六、...

    iReport-4.0.1.zip

    在4.0.2版本之后,部分用户报告了换行后文字叠字的问题,这可能是由于软件内部的排版算法或字体处理机制出现了异常。因此,4.0.1版本因其稳定性和无此类问题,成为了许多开发者的首选。 iReport的核心功能主要集中...

    Ireport

    7. **事件处理**:iReport支持自定义事件处理,比如在报表生成过程中执行特定操作。 通过阅读和理解这个"ReportProcess_share.java"文件,开发者可以学习到如何在实际项目中有效利用iReport生成报表,从而提升开发...

    ireport 中的有关计算公式

    在Ireport水晶报表设计器中,计算公式的应用是构建复杂数据展示的核心技术之一。通过合理的公式设置,可以实现数据的动态分析与呈现,包括求商、求和、求差以及百分比计算等。以下是对这些知识点的详细解析: ### ...

    iReport-5.1.0和iReport-5.6.0

    iReport-5.1.0和iReport-5.6.0

    ireport最全打印归纳

    iReport 最全打印归纳 iReport 是一个基于 Java 语言编写的报表引擎,用户可以按照它制定的规则编写一个 XML 文件,生成各种格式的文件,包括 PDF、HTML、XML、XLS、CSV 等。iReport 是报表的设计部分,界面设计是...

    (四)ireport制作报表,添加查询条件参数

    本节我们将深入探讨如何使用IReport来制作报表并添加查询条件参数。 首先,IReport的界面提供了一个设计视图,用户可以通过这个视图添加表格、图表、文本等元素,布局报表。在"EmployeeInfo.jrxml"文件中,我们可以...

    iReport-4.5.1.zip

    2. **报表元素**:除了基本的文字和图像,iReport还支持创建复杂的图表,如条形图、饼图、线图等,可以实时预览并进行参数化,以满足不同的数据展示需求。 3. **数据源支持**:iReport能够连接多种数据库,包括...

    iReport生成二维码的案例

    iReport是一款强大的报表设计工具,尤其在Java平台上广泛使用,它可以与JasperReports库结合,帮助开发者创建复杂的报告和图表。在这个"iReport生成二维码的案例"中,我们将深入探讨如何利用iReport来生成二维码,这...

    iReport-5.6.0.rar

    总之,iReport 5.6.0是一个针对中文环境优化的报表设计工具,它提供了强大的报表设计、数据处理和导出功能,适合需要创建复杂报表的开发者和分析师使用。通过这个版本,用户可以更便捷地利用中文字体创建出符合业务...

    Ireport 的 JAR包

    6. **国际化与本地化**:IReport支持多语言,这在处理全球化项目时非常有用,相关的JAR包会包含语言资源。 7. **模板引擎**:JasperReports引擎使用JRXML文件作为报表的模板,这些XML文件描述了报表的布局和样式,...

Global site tag (gtag.js) - Google Analytics