1. 程式人生 > >FineReport單元格擴展與父子格設置

FineReport單元格擴展與父子格設置

5.1 pla 模板 是否 app align csdn 快速選擇 指定

1.描述

在講述報表設計之前,首先介紹一下FineReport報表制作的幾個基本概念,本章節介紹FineReport報表賴以生存的單元格擴展。

擴展,顧名思義,就是由一變多,那麽單元格擴展就是指在web端查看模板效果的時候,原來的單元格由一個變成了多個,這就是單元格擴展,如下圖:

技術分享

2. 單元格擴展

大家對Excel應該都不陌生,用過Excel的人都知道,其單元格只有2個方向,橫向和縱向,而FineReport恰恰是一款類Excel的報表工具,其單元格也一樣,因此,FineReport報表中單元格的擴展是有方向的,可縱向擴展,也可橫向擴展,當然也可以不擴展。

2.1 縱向擴展

單元格中的數據依次從上至下的顯示,即縱向擴展(行方向的擴展,一行變多行),如下圖,在單元格中輸入公式 =range(1,5),在右側的單元格屬性表-擴展屬性中選擇擴展方向為縱向:

技術分享

2.2 橫向擴展

單元格中的數據依次從左至右的顯示,即橫向擴展(列方向的擴展,一列變多列),如下圖,在單元格中輸入公式 =range(1,5),在右側的單元格屬性表-擴展屬性中選擇擴展方向為橫向:

技術分享

2.3 不擴展

單元格中的數據不擴展,如下圖,在單元格中輸入公式 =range(1,5),在右側的單元格屬性表-擴展屬性中使用默認的擴展方向不擴展:

技術分享

註:如果單元格中內容是公式則默認擴展方向為不擴展,如果是數據集中的數據列,則默認擴展方向為縱向擴展。

了解了單元格的擴展,單元格的擴展是針對具體的某一個單元格,當報表主體中綁定了多個單元格時,單元格與單元格之間是否存在聯系,其擴展方向是否會相互影響呢?

如下圖,在單元格中拖曳兩個字段,在web端預覽的時候,可以看到後面的單元格根據前面的單元格數據進行分組顯示:

技術分享

表明當報表主體中綁定了多個單元格的時候,單元格間會天然存在某種關系,使單元格間存在數據過濾關系,並且跟隨擴展,這就是父子格,前面的單元格稱之為父格,後面的單元格稱之為子格,也就是說子格的數據會根據父格的數據進行過濾分組顯示,並且還會跟隨父格的擴展方向而擴展,下面我們來詳細介紹一下父子格。

3. 父子格關系

子格的擴展屬性會隨著父格的擴展屬性變化,當單元格左側或上方相鄰的單元格具有擴展屬性時,單元格默認其左側相鄰單元格為其左父格,默認上方相鄰的單元格為其上父格。

父子格關系包括兩種:過濾關系和跟隨關系。

3.1 過濾關系

過濾關系是指子格會默認將父格的數據作為過濾條件進行過濾,使父子格之間的數據能對應的顯示出來,但是這個默認的過濾關系只限於兩個單元格中的字段來自於同一個數據集,如上圖,兩個單元格中數據來自於同一個數據集,故華東地區單元格後面跟隨華東地區的銷售員,華北地區跟隨華北地區的銷售員,而不同數據集中的兩個字段,子格會將跟隨父格將所有數據重復顯示,如下圖,B2單元格相鄰的單元格為A2,在其左側,故A2為B2的左父格:

技術分享

註:過濾關系除了可以通過父子格默認添加之外,還可手動添加,後面章節再詳述。

3.2 跟隨關系

跟隨關系就是指子格會默認跟隨父格的擴展方向進行分組,即父格縱向擴展,子格跟隨父格默認縱向擴展,如上圖,地區單元格A2縱向擴展,子格B2也縱向跟隨擴展,父格橫向擴展,子格會跟隨父格橫向擴展分組,同時保持自己的數據使用默認的縱向擴展,如下圖,A3相鄰單元格為A2,且在其上方,故A2是A3的上父格:

技術分享

註:單元格中數據如果是數據集中的字段,不是公式,那麽其默認擴展方向均為縱向擴展,但是會根據父格的不同而進行不同方向的分組。

4. 父子格分類

父子格包括左父格和上父格兩種。

4.1左父格

左父格是指跟隨父格單元格縱向擴展,即表示其父格是縱向擴展,一般來說,左父格均在單元格的左側,單元格將其相鄰的左側縱向單元格默認為左父格,並且當鼠標選中子單元格時,左父格會顯示一個藍色向下的箭頭,如下圖:

技術分享

4.2上父格

上父格是指跟隨父格單元格橫向擴展,即表示其父格是橫向擴展,一般來說,上父格均在單元格的上方,單元格將其相鄰的上方橫向擴展單元格默認為上父格,並且當鼠標選中子單元格時,上父格會顯示一個藍色向右的箭頭,如下圖:

技術分享

5. 父子格設置

父格的設置有3種:不設置,默認設置和自定義設置,如下圖所示:

技術分享

5.1無

無就是指該單元格沒有父格,如下圖:

技術分享

5.2默認設置

默認就是指將數據列拖拽至單元格中時,該單元格會默認將其相鄰上方橫向擴展或者左側縱向擴展的單元格當做上父格或者左父格。

註:必須是相鄰的同行或者同列單元格,不是相鄰的需要自定義設置。

另:其單元格的左側相鄰單元格不具有擴展屬性時,會依次向左或向上尋找具有擴展屬性的單元格,來確定它的父格。

5.3自定義設置

自定義設置就是指可以自己為指定單元格設置父格,可直接輸入單元格或者快速選擇,如下圖所示:

技術分享

本文首發CSDN:http://blog.csdn.net/szd_happy/article/details/75287265

FineReport單元格擴展與父子格設置