2012-01-13 65 views
0

有沒有辦法如何在使用DynamicJasper的表格單元格上應用刪除線樣式?我只是設法通過覆蓋JRPdfExporter及其方法exportText來「破解」它,在那裏我將樣式添加到通過的JRPrintText,但是必須有一個正確的方法來做到這一點?DynamicJasper中的刪除線

這裏是我的解決辦法,如果有人有興趣:

JRPdfExporter exporter = new JRPdfExporter() 
{ 
    @Override 
    public void exportText(JRPrintText text) throws DocumentException 
    { 
     if (text.getText().contains("<strike>")) 
     { 
      text.setText(text.getText().replaceAll("<strike>", "")); 
      text.getStyle().setStrikeThrough(true); 
     } 
     super.exportText(text); 
    } 
}; 

我做的是我標誌,它應該有刪除線風格<strike>文本。然後我測試文本是否包含標記,如果是,我應用樣式並刪除標記。

但我相信必須有使用DynamicJasper的API來做到這一點的合法方式。 謝謝!

+0

你也可以閱讀這個問題的答案:http://stackoverflow.com/questions/8229492/how-to-you-change-the-markup-value-for-a-text-element-using-dynamicjasper – 2012-01-13 08:33:35

+0

謝謝!現在我知道DynamicJasper API不允許設置標記,但是帖子並沒有真正指向我的解決方案,除了自己修改DJ的類,這對我來說不是一種選擇。 – janhink 2012-01-13 09:49:18

+0

是的,僅在DJ你不能這樣做。您可以使用JR API – 2012-01-13 12:47:23

回答

0

由於我沒有找到答案,也沒有找到任何其他解決方案而不是遷移到DynamicReports,因此我將問題標記爲已回答。使用條件樣式,DynamicReports能夠非常輕鬆地完成此任務。