2015-06-19 139 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

相關問題