FineReport

最強大的動態報表與BI商業智慧工具!

用Java報表工具FineReport層次坐標實現分條件設置行高

在中國式複雜web報表設計中,常常有一些涉及動態單元格間計算的問題,並根據動態單元格構建條件實現更為複雜的需求。FineReport報表工具提供了層次坐標和條件屬性的結合使用來實現這種需求
下圖為一張未設置條件屬性的報表

要求:當某地區的「收費站」為多個時,則顯示「小計」一欄;當某地區的「收費站」只有一個,則不顯示「小計」一欄,即「龍溪收費站」不需要顯示「小計」一欄。所需效果如下圖所示

下面便來看看用Web報表工具FineReport實現如圖所示效果的全過程
1.報表表樣設計
報表表樣設計
此時預覽報表效果就是未添加任何條件的一個簡單分組報表,如下圖

2.添加條件屬性
條件屬性面板如下
為了實現「小計」一欄能夠分情況顯示,就需要用到FineReport報表的「條件屬性」,即B2單元格擴展出的結果等於1的時候,「小計」一行行高為0,否則「小計」一行正常顯示。
則此條件的公式為count(B2[!0]{A2==$A2})==1
其中,A2==$A2指A2單元格擴展出的當前格子
B2[!0]指B2單元格擴展出的所有格子
B2[!0]{A2==$A2}則是指A2單元格擴展的當前格子對應的B2擴展的所有單元格
count(B2[!0]{A2==$A2})則是給B2擴展的格子計數。
3.報表效果預覽
如下圖所示,預期報表效果已經實現

  • 聯繫我們

  • 電話:0933-790886
  • 邮箱:brian.wang@fanruan.com
  • 地址:300 新竹市學府路40號 (交大育成中心 R302)
  • 臉書粉絲團
Copyright©2017 Fanruan Software Co.,Ltd. All Rights Reserved. 帆軟軟體有限公司 | 蘇ICP備14031611號-8

返回頂部