我有一個json數據源與數組內的數組,我使用的子報表具有使用datasourceExpression和主數據源上的'subdata()'方法派生的數據源。使用json數據源嵌套的jasper子報表
我現在的問題是將另一個列表傳遞給另一個子報表,我不想再次使用子數據,我需要做的是將包含json文本的字段作爲字符串從當前子報表傳遞到下一個子報表作爲json數據源。
有沒有人知道這是如何實現的?
我正在使用iReport 5.6.0創建JasperReports的報告。
我有一個json數據源與數組內的數組,我使用的子報表具有使用datasourceExpression和主數據源上的'subdata()'方法派生的數據源。使用json數據源嵌套的jasper子報表
我現在的問題是將另一個列表傳遞給另一個子報表,我不想再次使用子數據,我需要做的是將包含json文本的字段作爲字符串從當前子報表傳遞到下一個子報表作爲json數據源。
有沒有人知道這是如何實現的?
我正在使用iReport 5.6.0創建JasperReports的報告。
有了這樣的JSON:
{"records": { "Calificaciones":[ {"curso":1,"cursoCompleto":true,"asignaturas":[ {"asignatura":"Geometescriptiva 1"}, {"asignatura":"Geometescriptiva 2"}, {"asignatura":"Geometescriptiva 3"} ] } ] } }
我添加到我的主要報告的查詢「records.Calificaciones」迭代的第一陣列上和細節添加字段(CURSO,cursoCompleto,asignaturas)主要報告的帶寬(在本例中,「curso」字段將打印整數「1」),現在要在嵌套數組上進行迭代,我設置類型爲「java.lang.Object」的字段「asignaturas」。
然後,添加上詳細信息區域子報表,在「子報表屬性」選擇:在我添加子報表
new net.sf.jasperreports.engine.data.JsonDataSource(new ByteArrayInputStream($F{asignaturas}.toString().getBytes()),"")
然後: 「使用數據源表達」爲數據源表達和值(在本例中是字段「asignatura」),它將相應地爲主數組的每個節點打印嵌套數組。