點擊“了解更多”獲取DevExpress v20.1完整版下載
DevExpress Winforms Controls 內(nèi)置140多個UI控件和庫,完美構(gòu)建流暢、美觀且易于使用的應(yīng)用程序。
本文記錄如何構(gòu)建自定義的DevExpress Report控件(Swiss QR-Bill報表組件),以及如何解決開發(fā)過程中遇到的問題,希望這些信息對創(chuàng)建自定義DevExpress Report控件的用戶有價值。
為幫助消除報表控件開發(fā)過程中的神秘性,本文介紹如何創(chuàng)建設(shè)計時設(shè)置、序列化設(shè)計器組件和相關(guān)的“bricks”,以及如何渲染和打印組件。第一部分包含有關(guān)Swiss QR Bill控件的一般信息,并描述控件本身的要求;第二部分詳細(xì)介紹了組件的實現(xiàn)。
一般信息Swiss QR Bill是一種帶有QR碼的新型付款單,Swiss QR Bill包含以下元素:
收據(jù)付款部分條碼發(fā)票可以使用以下布局:
在A4紙上打印的“全額”發(fā)票;在A6紙上打印的“簡短”發(fā)票;連續(xù)打印發(fā)票;在單個頁面上打印的發(fā)票。“完整”發(fā)票包含收據(jù),而“空”發(fā)票僅包含付款信息。 組件的BillKind屬性指定完整發(fā)票的PaymentAndReceipt值和短期發(fā)票的PaymentOnly值,連續(xù)打印或單獨打印是通過IntegratedMode屬性指定的。
將發(fā)票打印在A4或A6紙上(或?qū)С鰹镻DF),并分別通過BillOption.PreviewSeparatorKind和BillOption.PdfSeparatorKind屬性指定perforation line。該組件允許您更改任何字段的語言和字體,StringData屬性可用于將字段綁定到外部數(shù)據(jù)源。
報表控件開發(fā)–概述若要創(chuàng)建一個新的報表控件,您必須:
選擇一個ba類,如果找不到合適的控件派生,請從XRControl類繼承一個組件。創(chuàng)建組件的對象模型,指定一組屬性和相關(guān)屬性,這些屬性決定如何序列化屬性以及如何在Property網(wǎng)格中顯示屬性。為Visual Studio和End Ur Designer創(chuàng)建組件設(shè)計器,設(shè)計人員在設(shè)計時確定組件的外觀和操作,根據(jù)需要添加屬性。選擇組件的“brick”,一個明顯的選擇是基類創(chuàng)建的積木,但是,如果組件從XRControl類繼承,則有兩個選項 - 如果需要簡單的Brick,則選擇VisualBrick作為Brick的基類;如果需要的容器,則選擇PanelBrick。指定組件如何創(chuàng)建其"brick",并將組件的屬性映射到brick的特征。實現(xiàn)BrickExporter類來呈現(xiàn) "brick",覆蓋用于繪圖和導(dǎo)出的方法。以下各部分詳細(xì)介紹了如何更詳細(xì)地構(gòu)建SwissQRBill組件。
組件實現(xiàn)由于SwissQRBill組件是XRControl的后代,因此它在設(shè)計器的工具箱中具有自己的 "brick"、序列化和項。
設(shè)計時
要將組件添加到Visual Studio工具箱,該組件必須具有ToolBoxItem(true)屬性。
WinForms End-Ur Designer要求向IToolBoxService注冊該組件,處理DesignPanelLoaded事件,然后調(diào)用IToolBoxService.AddToolBoxItem方法來注冊組件。
若要實現(xiàn)組件的設(shè)計時功能,請分別為Visual Studio和WinForms End-Ur Designer添加Designer和XRDesigner屬性。控件的調(diào)整大小規(guī)則和智能標(biāo)記項必須根據(jù)需要進(jìn)行修改,智能標(biāo)記項是通過在組件設(shè)計器中注冊的DesignerActionList對象指定的, GetSelectionRulesCore方法修改控件的調(diào)整大小規(guī)則。
設(shè)置屬性網(wǎng)格時,請?zhí)貏e注意可擴(kuò)展對象。 在此示例中,將創(chuàng)建ExpandableObjectConverter后代以重寫ConvertTo方法,新的ConvertTo方法實現(xiàn)更改了在屬性網(wǎng)格編輯器中顯示的字符串。 AddressTypeConverter的GetProperties方法刪除該地址類型不必要的屬性。
本文發(fā)布于:2023-02-28 21:02:00,感謝您對本站的認(rèn)可!
本文鏈接:http://www.newhan.cn/zhishi/a/167771744296818.html
版權(quán)聲明:本站內(nèi)容均來自互聯(lián)網(wǎng),僅供演示用,請勿用于商業(yè)和其他非法用途。如果侵犯了您的權(quán)益請與我們聯(lián)系,我們將在24小時內(nèi)刪除。
本文word下載地址:itool(itools蘋果版下載).doc
本文 PDF 下載地址:itool(itools蘋果版下載).pdf
| 留言與評論(共有 0 條評論) |