原創|使用教程|編輯:鄭恭琳|2020-04-10 11:15:28.767|閱讀 1064 次
概述:制作報表時,我們希望它對使用者盡可能“友好”。太多的數據和設計元素處理使人們對信息的理解更加不利。比如,許多人希望刪除表中的沒有數據的空格。FastReport.Net報表生成器使您可以執行此功能。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
制作報表時,我們希望它對使用者盡可能“友好”。太多的數據和設計元素處理使人們對信息的理解更加不利。比如,許多人希望刪除表中的沒有數據的空格。FastReport.Net報表生成器使您可以執行此功能。如您所知,不僅需要隱藏該列,而且還需要為其隱藏標題。如果用鼠標單擊幾下即可隱藏一列,那么隱藏標題任務卻并非易事。
假設我們有一個表,要從中顯示報表中的數據。但是,某些數據可能會丟失或設置為零。在這種情況下,我們可以使用“條件選擇”工具隱藏零數據單元。選擇所需的單元格,然后單擊工具欄上的圖標:
添加條件時,默認情況下將檢查零。那就是我們所需要的。我們僅選擇顯示選項。在我們的例子中,我們刪除可見的標志:
因此,通過這些非精簡的操作,我們已經實現了隱藏的零數據單元。但這并不能解決所有問題。我們的任務是在沒有值大于零的情況下隱藏整個列的標題。此列中的空白將檢查每頁的輸出。
要檢查給定列中頁面上是否沒有數據,我們將使用“結果”。
該結果由給定的列求和,并匯總其中的所有值。如果總數為零,則該列中沒有單個值大于零,因此您需要隱藏該列的標題。
現在,讓我們添加結果:
結果放入“頁腳”區域中:
然后可以使用“visible”屬性隱藏結果。
然后,讓我們設置邏輯以隱藏最后一列的標題。代替RUB文本,我們引入表達式:
[IIf([Total]!=0,Text14.Text = "RUB",Text14.Text = "")]
但是,這還不是全部。由于結果是在頁面上顯示標題和數據之后形成的,因此在執行我們上面介紹的表達式時,總價值無關緊要。因此,我們需要在列標題中使用延遲表達式計算選項,并對報表進行兩次遍歷。
選擇一個帶有RUB列標題的文本框。在文本字段的屬性中,我們找到ProcessAt并更改為PageFinished:
之后,我們需要打開報表屬性并安裝“Doublepass”選項:
此選項使您可以兩次生成報表。在第一種結構中,將計算所有結果,在第二種結構中,這些結果可用于標題。所有這些都是必要的,因為報表在元素上是一致的。也就是說,在構建下一個元素時,您將無法更改前一個元素。因此,您需要進行重新構建,以考慮下一個元素的結果。
讓我們看看RUB列中所有數據何時為0時報表的工作方式:
在某些頁面上可以顯示數據,因此該列也會顯示:
這樣,我們可以根據列中的數據動態顯示或隱藏列。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn