ireport barcode null 不顯示
ERROR: net.sf.jasperreports.engine.JRRuntimeException: java.lang.NullPointerException: Parameter msg must not be empty
Caused by: java.lang.NullPointerException: Parameter msg must not be empty
at org.krysalis.barcode4j.impl.code39.Code39Bean.generateBarcode(Code39Bean.java:187)
at net.sf.jasperreports.components.barcode4j.BarcodeSVGImageProducer.createImage(BarcodeSVGImageProducer.java:58)
code Expression
($F{group}.getChannels()==null)? "" : ("條碼1 *" + $F{barcodeStores1}+ "*")
結果當測試符合條件資料的時候,條碼那段就跳上面的錯誤訊息Parameter msg must not be empty。
一開始還覺得是條碼沒帶值,跑去檢查資料庫條碼欄位的資料確都正常。
而且報表內本來就有一組條碼沒有值的時候會自動不顯示,而且完全沒有做設定。
後來在想是不是判斷式會讓編譯後的xml找不到這幾個在report 中設定成Parameter 的值,就跳出那一段Parameter msg must not be empty。
而沒有設定的那組條碼是抓Parameter 的屬性,而且也沒有做判斷式。
後來把不顯示的條件設定在 printWhenExpression
Boolean.valueOf(null!=$F{group}.getChannels())
報表就可以正常產出了
留言
張貼留言