中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎樣創建自定義DevExpress報表控件

發布時間:2021-12-21 11:08:39 來源:億速云 閱讀:109 作者:柒染 欄目:大數據

怎樣創建自定義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屬性可用于將字段綁定到外部數據源。

報表控件開發–概述

若要創建一個新的報表控件,您必須:

  1. 選擇一個base類,如果找不到合適的控件派生,請從XRControl類繼承一個組件。

  2. 創建組件的對象模型,指定一組屬性和相關屬性,這些屬性決定如何序列化屬性以及如何在Property網格中顯示屬性。

  3. 為Visual Studio和End User Designer創建組件設計器,設計人員在設計時確定組件的外觀和操作,根據需要添加屬性。

  4. 選擇組件的“brick”,一個明顯的選擇是基類創建的積木,但是,如果組件從XRControl類繼承,則有兩個選項 - 如果需要簡單的Brick,則選擇VisualBrick作為Brick的基類;如果需要的容器,則選擇PanelBrick。

  5. 指定組件如何創建其"brick",并將組件的屬性映射到brick的特征。

  6. 實現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報表控件問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

专栏| 韶关市| 泗水县| 西乌珠穆沁旗| 宁武县| 广平县| 庆云县| 鸡东县| 新绛县| 内乡县| 根河市| 东源县| 深泽县| 西畴县| 南平市| 甘德县| 阿荣旗| 措美县| 奎屯市| 南安市| 丹江口市| 临海市| 和平区| 呼和浩特市| 台安县| 太仆寺旗| 来安县| 泊头市| 安岳县| 金沙县| 庆元县| 曲沃县| 亳州市| 绥江县| 广丰县| 灵台县| 雷州市| 炉霍县| 海伦市| 雅安市| 白水县|