翻譯|行業資訊|編輯:胡濤|2024-03-27 10:05:34.140|閱讀 75 次
概述:在今天的文章中,我們將討論有關在 Stimulsoft 產品中創建主從報告的原則的重要變化。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
Stimulsoft Ultimate (原Stimulsoft Reports.Ultimate)是用于創建報表和儀表板的通用工具集。該產品包括用于WinForms、ASP.NET、.NET Core、JavaScript、WPF、PHP、Java和其他環境的完整工具集。無需比較產品功能,Stimulsoft Ultimate包含了所有內容!
Stimulsoft Reports.Ultimate不僅擁有強大的報表導出系統,而且還支持多種報表導出格式,擁有簡單且強大的報表引擎。Stimulsoft Reports.Ultimate基本原則是,用簡單常規的方法創建報表,將不同的技術應用于應用程序。
主-詳細信息是一種報表類型,其中數據相互關聯并組織成多個級別:一個主帶數據記錄對應于多個詳細數據帶記錄。換句話說,Master-Detail報表是一個有詳細信息的數據,比如按類別展示數據的報表:
在上面的查看器中,我們看到一個標準示例:首先顯示有關每個產品類別的信息,然后顯示屬于該類別的產品列表。
我們的產品提供了兩種在主從報告中確定條帶相對位置的方法。
第一種方法是將 Detail 區域放置在 Master 區域之后:
第二種方法是將 Detail 區域放置在 Master 區域內;在這種情況下,我們將其稱為嵌套細節帶。
組件用作其他元素的容器。您可以將一個或多個元素放置在一個面板上。只有交叉帶可以直接放置在其他帶上;其他帶子只能放置在容器中。
上述兩種放置帶的方法的作用相同。選項的選擇僅取決于您希望獲得的報告的外觀。在實踐中,當詳細信息部分的數據量較少時,通常會選擇第二個選項。
文章開頭的報告樣本展示了所謂的“理想情況”,即所有類別都包含產品數據。然而,在實際數據中,某些類別可能不包含任何產品。因此,類別詳細信息中可能沒有任何內容可顯示。
在實踐中,通常不需要顯示空類別。因此,默認情況下,我們的引擎隱藏它們。但是,用戶可以選擇是否顯示空類別。他們可以使用主帶屬性“如果詳細信息為空則打印”來執行此操作。如果該屬性的值設置為true,則主帶的所有記錄都將被打印,無論它們是否有詳細數據。
讓我們繼續本文的主題。從版本2023.2開始, PrintIfDetailEmpty屬性的邏輯已得到增強。以前,該屬性僅適用于位于主帶之后的詳細帶。現在,該屬性還對位于主帶內的細節帶進行操作。
筆記!以前,無論主區域的PrintIfDetailEmpty
屬性的值如何,在任何情況下都會顯示嵌套的詳細信息區域。因此,如果主帶的屬性已設置為 true,則不會發生任何變化;詳細信息帶將像以前一樣顯示。
從技術上講,嵌套帶區始終被視為細節帶區,無論它們是否設置了 MasterComponent 屬性。但是,由于PrintIfDetailEmpty屬性之前對它們沒有影響,因此用戶沒有意識到這一點。
因此,此修改可能會影響某些具有嵌套帶區的報表,這些報表最初不是作為主從報表創建的。如果嵌套帶區沒有數據,則主帶區也不會顯示。
如果您的報告中出現上述問題,您可以通過以下方式之一解決:
StiOptions.Engine.CheckForEmptyNestedDetail=false
如果問題影響大量報告,或者您沒有時間更改報告,則可以使用第二個選項。但是,它會影響所有報告。如果在報告中,您需要刪除主帶,并且它沒有詳細信息,您仍然需要使用第一個選項,這將需要在每個報告中進行更改。
另請注意,引入StiOptions的某些屬性只是為了確保與舊版本的向后兼容性。有一天,在下一次重大重構期間,這些屬性可能會被標記為“已過時”,并在幾年后被刪除。
想要了解Stimulsoft Reports 報價信息的朋友,歡迎咨詢。
加入官方社群 740060302,歡迎相互交流
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn