2
有沒有基於報表參數區域設置使用不同樣式或重新定義樣式的方法?我需要修改某些語言的字體大小。JasperReports - 每種語言環境的條件樣式?
有沒有基於報表參數區域設置使用不同樣式或重新定義樣式的方法?我需要修改某些語言的字體大小。JasperReports - 每種語言環境的條件樣式?
我已經在過去使用外部樣式模板實現了這一點。有一個sample on jasperforge說明如何做到這一點。
將樣式移至外部模板後,即可創建特定於語言環境的模板。模板機制允許您繼承並覆蓋特定的樣式,所以特定於語言環境的版本不會過度膨脹。上面鏈接的示例包括繼承和重寫基本樣式。
在您的報告中,您可以在渲染時加載適當的模板。
一個簡單的方法來做到這一點是:
提供要作爲參數 使用報告
包括在JRXML文件的模板標籤中的路徑模板引用 參數:
<模板> < [CDATA [$ P {} TEMPLATE_PATH]]> < /模板>
然後,在呈現報表的代碼中,只需爲報表語言環境適當地設置TEMPLATE_PATH參數即可。
此外,鏈接的文檔提到了如何做到這一點。
在報告中,您如何確定當前的報告區域設置? – Chewpers
有一個名爲REPORT_LOCALE的內置參數,應該由報告的渲染器設置 - 如果從iReport運行,可以在報告執行選項下設置,如果您是從Java代碼進行渲染,則通常通過執行類似:metadata.put(JRParameter.REPORT_LOCALE,locale);其中元數據是發送到fillReport的參數映射 –