千家信息网

怎样创建自定义DevExpress报表控件

发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,怎样创建自定义DevExpress报表控件,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。如何构建自定义的DevExpress Rep
千家信息网最后更新 2025年12月03日怎样创建自定义DevExpress报表控件

怎样创建自定义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报表控件问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

组件 属性 控件 发票 设计 方法 报表 选择 信息 问题 对象 序列 网格 帮助 开发 后代 大小 字段 工具 工具箱 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 查看linux服务器型号 维护网络安全问题调研 青少年怎样维护国家网络安全 无服务器架构安全面面观 阿里负责网络安全的团队人数 梦幻转区之后如何回原服务器 珠海通信软件开发平均价格 关系数据库与空间数据库异同 在浦东前滩的网络安全支队 大学生网络安全交流会 比较好的软件开发公司知聚顶科技 滨州软件开发哪家好 中国网络安全改造 上饶高性价比服务器要多少钱 网络技术方面的职业兴趣 网络安全小报文字内容 景洪gpu云服务器加盟 如何建立配件数据库 前端连接数据库的操作 网络维护与网络安全公务员岗位 翻译最权威的软件开发 服务器挖矿木马生成 软件开发怎么留后门 阿里负责网络安全的团队人数 江苏 网络安全 队长 四平有诚信的计算机网络技术 maven项目数据库查询 软件开发产品经理总结 电脑有哪些软件开发应用 暑期致家长一封信 网络安全
0