【发布时间】:2014-02-24 03:06:03
【问题描述】:
我想知道是否有办法在 JasperReport 中转义美元 ($) 符号(我正在使用 Dynamic Jasper)我尝试了 unicode 和 xml 转义,但它不起作用。
我得到这个错误:
1. Syntax error on token "$F", { expected
value = $F{$}; //$JR_EXPR_ID=13$
<>
动态 Jasper 报告代码为:
drb.setTitle(screenTitleData)
.setSubtitle(styledSubTitle)
.setTitleStyle(titleStyle).setTitleHeight(new Integer(30))
.setSubtitleHeight(new Integer(20))
.setDetailHeight(new Integer(8))//defines the height for each record of the report
.setMargins(margin, margin, margin, margin)
.setDefaultStyles(titleStyle, null, headerStyle, columDetail)
.setPrintBackgroundOnOddRows(true)
.setOddRowBackgroundStyle(oddRowStyle)
.setColumnsPerPage(new Integer(1))//defines columns per page (like in the telephone guide)
.setColumnSpace(new Integer(5))
.setWhenNoData(SwtConstants.DYNAMIC_JASPER_NO_DATA_FOUND, null,true,true)
.setQuery(queryResult.getExecutedQuery(), DJConstants.QUERY_LANGUAGE_SQL);
如您所见,我正在使用“setQuery”我将列列表保存在一个对象中,因此我浏览列表以使用此代码创建列:
// Varchar columns will not be styled
abstractColumn = ColumnBuilder.getNew()
.setColumnProperty(columns.get(i).getColumnLabel(), String.class.getName())
.setTitle(columns.get(i).getColumnLabel()).setWidth(85)
.setStyle(commonStyle).setHeaderStyle(headerStyle)
.build();
如果您想重现此错误,只需键入如下查询:
Select '$' from dual
请注意,“}”字符也会出现同样的错误。
谁能帮帮我?
【问题讨论】:
-
您在使用 java 还是 grails?并发布动态jasper的代码。
-
我刚刚用使用的源代码更新了帖子。是的,我正在使用 java
-
你的sql查询结果中有$吗?
-
是的,它在 sql 查询中没有问题,但如果我们使用动态 Jasper 导出它,则会导致此异常。我试图创建一个 JRXML 文件,我注意到 Dynamic Jasper 创建了一个像这样的字段:
code为每一列然后它使用它在像这里 code这样导致问题的 textFieldExpression 中,我尝试使用“$”或 "\u0024" 但不起作用。
标签: jasper-reports escaping dollar-sign