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())

報表就可以正常產出了

留言

熱門文章

汐科定便當記錄(一)

汐科定便當記錄 (完)

ireport換行