2015-06-19 141 views

回答

1

通过回答@Kudo

我使用两个图像来显示复选框或取消选中框。在每个图像中,使用Image Expression else if。例如:$P{param}.equals("TRUE") ? $P{imagecheck} : $P{imageuncheck}

1

我使用一个文本字段这个表达式:

$F{b}!=null?"þ":"¨" 

,并设置字体:宋体

第一符号是一个检查框,第二个是一个未经检查框。 所以,如果我想要一个支票,我只是从字段b中的数据库发送一个字符。如果我想要一个空白框,我将b字段留空。

...并检查这太: http://jasperreports.sourceforge.net/sample.reference/fonts/ 它提供了类似的信息“如何在目标应用程序进行部署时,使用字体与扩展您的报告模板船舶所需的字体。”

+1

您好,欢迎来到SO。外部链接是危险的,因为它们随时可能失效,然后你的回答就会失去价值。所以请[编辑]它并至少添加一个可以在那里找到的摘要。另外,您可能想要解释表达式的工作方式,并将其格式化为代码(只需选中它并按下Ctrl-K)即可。谢谢! –

+0

好的,编辑我的答案 – radu

0

你并不需要把图像来创建一个复选框。只需放置一个11x11矩形。并添加2片9x9线,如“\”和“/”,然后层压(相互重叠)。使底部的线不透明并右键单击并向后发送。将顶部的行设为“不透明”。如果没有显示其中一个是真的,只需使用这些背面或前面的设置。然后将这些层压线放入矩形中。毕竟你可以设置打印表达部分的代码。就这样!

通过您可以反向“\”行“/”,由行属性>方向>“自下而上”或“自上而下”的设置方式。祝你今天愉快!

0

另一种方法是使用unicode确保您的碧玉报告具有的编码: ...

<?xml version="1.0" encoding="UTF-8"?> 

... 

<field name="COLUMN_1" class ="java.lang.Boolean" /> 

... 

<textFieldExpression class="java.lang.String"> 
    <![CDATA[$F{COLUMN_1} ? "\u2713":"\u2717"]]> 
</textFieldExpression> 

... 

前: enter image description here 后: enter image description here

相关问题