您好,登錄后才能下訂單哦!
怎樣創建自定義DevExpress報表控件,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
如何構建自定義的DevExpress Report控件(Swiss QR-Bill報表組件),以及如何解決開發過程中遇到的問題,希望這些信息對創建自定義DevExpress Report控件的用戶有價值。
為幫助消除報表控件開發過程中的神秘性,下面如何創建設計時設置、序列化設計器組件和相關的“bricks”,以及如何渲染和打印組件。第一部分包含有關Swiss QR Bill控件的一般信息,并描述控件本身的要求;第二部分詳細介紹了組件的實現。
一般信息
Swiss QR Bill是一種帶有QR碼的新型付款單,Swiss QR Bill包含以下元素:
收據
付款部分
條碼
發票可以使用以下布局:
在A4紙上打印的“全額”發票;
在A6紙上打印的“簡短”發票;
連續打印發票;
在單個頁面上打印的發票。
“完整”發票包含收據,而“空”發票僅包含付款信息。 組件的BillKind屬性指定完整發票的PaymentAndReceipt值和短期發票的PaymentOnly值,連續打印或單獨打印是通過IntegratedMode屬性指定的。
將發票打印在A4或A6紙上(或導出為PDF),并分別通過BillOption.PreviewSeparatorKind和BillOption.PdfSeparatorKind屬性指定perforation line。該組件允許您更改任何字段的語言和字體,StringData屬性可用于將字段綁定到外部數據源。
報表控件開發–概述
若要創建一個新的報表控件,您必須:
選擇一個base類,如果找不到合適的控件派生,請從XRControl類繼承一個組件。
創建組件的對象模型,指定一組屬性和相關屬性,這些屬性決定如何序列化屬性以及如何在Property網格中顯示屬性。
為Visual Studio和End User Designer創建組件設計器,設計人員在設計時確定組件的外觀和操作,根據需要添加屬性。
選擇組件的“brick”,一個明顯的選擇是基類創建的積木,但是,如果組件從XRControl類繼承,則有兩個選項 - 如果需要簡單的Brick,則選擇VisualBrick作為Brick的基類;如果需要的容器,則選擇PanelBrick。
指定組件如何創建其"brick",并將組件的屬性映射到brick的特征。
實現BrickExporter類來呈現 "brick",覆蓋用于繪圖和導出的方法。
組件實現
由于SwissQRBill組件是XRControl的后代,因此它在設計器的工具箱中具有自己的 "brick"、序列化和項。
設計時
要將組件添加到Visual Studio工具箱,該組件必須具有ToolBoxItem(true)屬性。
WinForms End-User Designer要求向IToolBoxService注冊該組件,處理DesignPanelLoaded事件,然后調用IToolBoxService.AddToolBoxItem方法來注冊組件。
若要實現組件的設計時功能,請分別為Visual Studio和WinForms End-User Designer添加Designer和XRDesigner屬性。控件的調整大小規則和智能標記項必須根據需要進行修改,智能標記項是通過在組件設計器中注冊的DesignerActionList對象指定的, GetSelectionRulesCore方法修改控件的調整大小規則。
設置屬性網格時,請特別注意可擴展對象。 在此示例中,將創建ExpandableObjectConverter后代以重寫ConvertTo方法,新的ConvertTo方法實現更改了在屬性網格編輯器中顯示的字符串。 AddressTypeConverter的GetProperties方法刪除該地址類型不必要的屬性。
關于怎樣創建自定義DevExpress報表控件問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。