如何在FastReport VCL 6中使用新的Table對象
在我看來,FastReport VCL 6中一個非常有用的創新是Table對象。以前,我們只有一個交叉表,實際上它是一個矩陣。我們需要特定報告中的矩陣。沒有足夠的普通表格,便于縮放和移動字段。所有數據在一個容器中,每次修改報告時都不需要自定義字段,以避免重疊。如果您要以表格格式導出報告,這是一大優勢。
我們通過例子來看這個對象的特征。
將“Table”對象添加到“Data”band。 當然,您可以將表格放在其他bands上,但不會填充數據。相反,它只包含表格第一行的數據。
表格維度
默認情況下,該表格由五列和五行創建。
管理表格的維度非常簡單:
- 第一種方法。點擊左鍵選擇“Table”對象。在右下角,您會看到一個類似于微型表格的圖標。
將鼠標拖到圖標上方,可以增加高度或寬度的表格尺寸:同樣,如果將表格圖標向上拖動到左側,則可以減少表格。
- 第二種方法。用鼠標選擇表格。在屬性檢查器中,找到ColumnCount和RowCount:
在我們的例子中,列數是2,行數是6。
如果您將該值設置為小于當前值并按Enter,則表格的尺寸將減小。 - 第三種方式。選擇我們想要插入一列的列單元格。要選擇整個列,請將鼠標指針移到表格外的所需列的正上方。這將彈出一個指向該列的灰色箭頭圖標。右鍵點擊圖標或它與表格邊界之間的區域。在出現的上下文菜單中,根據需要選擇“Add column before”或“Add column after”值。
從相同的菜單中,您可以使用相應的項目刪除選定的列。
添加/刪除行可以用完全相同的方式完成。只需將鼠標指針放在左邊,而非放在表格上。
合并/拆分單元格
要合并單元格,您需要選擇您想要的鼠標單元格。右鍵單擊上下文菜單并選擇“join cells”項。
合并的單元格也可以使用“split cells”項目從上下文菜單中拆分。
添加數據
您可以通過幾種方式向表格單元格添加字段:
1)拖放——將數據區中的字段拖動到所需的單元格;
2)從單元格的下拉列表中選擇。在這種情況下,必須選擇Data波段的數據源;

3)雙擊所需的單元格。在文本編輯器中,單擊“Insert Expression”圖標。在表達式編輯器中,選擇數據字段:

4)數據組加成:
- 用鼠標左鍵和Ctrl鍵標記“Data”區域中的必要字段;
- 將所有字段一次拖到突出顯示列(行)的箭頭和表格邊界之間的區域中:
釋放鼠標按鈕:
移動列和行
但是表格的可能性不僅僅是通過添加和刪除來完成的。您可以更改列和行的順序。為此,請選擇列,按住Ctrl鍵,單擊鼠標左鍵并將列(行)拖到所需的位置。
之前:

之后:

表內的對象
該表格允許您在單元格中放置不同的對象。該限制僅限于表、交叉表、DB交叉表和嵌套報表。所有其他對象可以放置在單元格中,甚至可以同時放置在一個單元格中。例如,一張圖片:

單元格中的對象可以增加和移動,也可以在band中移動。
表格對象屬性
“Table”對象有兩個屬性應該寫成:
- AutoSize——根據單元格的內容,表格可以被拉伸和壓縮;
- AllowSplit——允許分割表格,如果它不完全適合表格。
讓我們仔細看看第一個屬性——AutoSize。您可以將自動大小分配給列和行。如果一個單元格被拉伸,相鄰的單元格也應該沿著垂直或水平方向拉伸。
要使用它,您需要配置Data band。在它的屬性中,我們發現拉伸并設置為true。對于StretchMode,選擇ActualHeight。現在band可以高度拉伸。現在您需要選擇一列或一行,并右鍵單擊列/行的箭頭指針和表格邊界之間的區域。在上下文菜單中,選擇AutoSize。

禁用AutoSize屬性的較低行:

啟用AutoSize屬性的較低行:

現在考慮AllowSplit屬性。打開它很容易。必須為“Table”對象所在的“Data” band啟用AllowSplit屬性。您可以通過右鍵單擊band標題來完成此操作。在上下文菜單中,選擇所需的屬性。或者,在Band Data的Data屬性檢查器中,還可以找到AllowSplit并將其設置為true。下面揭示了如果該屬性被禁用,表格看起來會如何:

正如你所看到的,下面的表格不適合頁面布局并被移動到下一頁。現在啟用AllowSplit。

部分表格顯示在第一頁上,其余部分顯示在第二頁上。使用表格打印報告時,此選項有助于節省紙張。
現在是時候總結了。我們所考慮的“Table”對象的功能非常強大,并且在我看來,報表開發人員會很喜歡它的可用性。