BIRT 如何處理橫向分欄

xiaohuihui發表於2020-06-16

比如要處理這麼個場景:將資料記錄橫向排布為三列顯示。效果圖如下:

BIRT 如何處理橫向分欄

BIRT可以對資料縱向分欄,很難實現記錄橫向擺放並分欄的佈局,有網友提出:把資料集繫結到List元素上,在網格中排列一個或多個資料欄位,採用嵌入子網格等手段來實現,但都屬於理論性階段,並沒有給出完整的示例,可想而知,即便能實現,也是需要寫複雜的指令碼和雜亂的網格拼接。工作量巨大。源資料格式如下:

BIRT 如何處理橫向分欄

一些特殊的佈局版面,很難透過報表工具本身提供的功能直接實現,但如果準備出合適的資料來源,就能大大降低報表設計的難度,集算器SPL就可以輔助BIRT準備好已分欄的資料,BIRT只管接收處理後的資料並展現即可。程式碼如下:


A

B

C

1

=myDB.query("select EId,Name,Dept from emp where EId>=? and EId<=? order by EId ",begin,end)


2

=A1.step(3,1)

=A1.step(3,2)|[null]

=A1.step(3,3)|[null]

3

=A2.derive(B2(#).EID:EID2,B2(#).NAME:NAME2,B2(#).DEPT:DEPT2,C2(#).EID:EID3,C2(#).NAME:NAME3,C2(#).DEPT:DEPT3)

4

return A3



其實還有很多類似的格式佈局問題在BIRT中處理不太方便,但有集算器SPL的輔助卻很簡單,感興趣可以參考:

集算器提供了JDBC驅動,可以很方便的與BIRT等報表工具整合, 有使用和獲得它的方法。

關於集算器安裝使用、獲得免費授權和相關技術資料,可以參見 。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69900830/viewspace-2698774/,如需轉載,請註明出處,否則將追究法律責任。

相關文章