[发明专利]一种使用WPF界面生成报表的方法及报表引擎有效
申请号: | 201710302976.8 | 申请日: | 2017-05-03 |
公开(公告)号: | CN107220043B | 公开(公告)日: | 2020-07-03 |
发明(设计)人: | 梁妍;吴杰 | 申请(专利权)人: | 辽宁科技大学 |
主分类号: | G06F9/451 | 分类号: | G06F9/451;G06F40/18 |
代理公司: | 鞍山嘉讯科技专利事务所(普通合伙) 21224 | 代理人: | 张群 |
地址: | 114044 辽*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 使用 wpf 界面 生成 报表 方法 引擎 | ||
本发明提供一种使用WPF界面生成报表的方法及报表引擎,报表引擎的结构包括报表模板基类、报表管理模块两个类;其中,所述的报表模板基类继承于System.Windows.Controls.UserControl类,抽象了报表模板的公共方法,所有报表模板都继承于报表模板基类。公共方法包括:初次加载操作,加载操作,验证操作,统计操作,查找操作,获取打印报表对象操作;所述的报表管理模块,定义了针对常用的报表功能抽象出四种基本操作,包括:新建报表,加载报表,序列化报表,打印报表。这四项操作的操作对象都是报表模板基类的对象,报表模板对象在上转型为报表模板基类对象后,实现操作的多态。将WPF界面作为报表的统一界面,实现了报表“所见即所得”的设计效果。
技术领域
本发明涉及报表处理技术领域,特别涉及一种使用WPF界面生成报表的方法及报表引擎。
背景技术
在WPF程序中,常常有生成大量格式不同报表的应用场景。当前WPF程序生成报表的常用方法有两种:一种是将数据导出到excel中生成报表;另一种是使用第三方控件生成报表。
将数据导出到excel中生成报表,优点是可以方便的修改报表,但是缺点是修改的数据不能保存到数据库中,导致修改的报表和数据库中的数据不匹配,另外自己修改报表,报表统计数据有可能计算错误。
使用第三方控件生成报表的优点为打印报表严格按照程序设定打印,但是缺点是第三方控件编辑功能薄弱,无法实现报表修改的“所见即所得”,当报表不符合要求时,需要返回到修改页面重新修改;另一个缺点是数据库中保存的是报表中每个字段的数据,报表的样式不能保存。当软件中的报表模板发生变化时,软件中再次打印的报表样式可能与原有样式不同。
发明内容
为了克服现有技术的不足,本发明提供一种使用WPF界面生成报表的方法及报表引擎,抽象了报表和报表管理的常用操作,WPF作为界面的软件项目使用该方法和引擎创建报表,可实现报表创建和修改“所见即所得”的设计效果,并且实现报表创建、加载、编辑、打印、统计等功能更加简单快速。
为了达到上述目的,本发明采用以下技术方案实现:
一种使用WPF界面生成报表的报表引擎,报表引擎的结构包括报表模板基类、报表管理模块两个类。
其中,所述的报表模板基类继承于System.Windows.Controls.UserControl类,抽象了报表模板的公共方法,所有报表模板都继承于报表模板基类。公共方法包括:初次加载操作,加载操作,验证操作,统计操作,查找操作,获取打印报表对象操作。
所述的报表模板是指创建具体报表对象的报表类,报表模板针对各个不同报表实现报表特有的样式、操作,报表模板需要继承报表模板基类后单独实现,并根据实际需求重写基类的公有方法。
报表模板基类中的“初次加载操作”,“加载操作”,“验证操作”,“统计操作”四个方法均为虚方法并且方法体为空方法体,主要由继承基类的实现类根据具体需求重写方法;“初次加载操作”用于报表内容填写初始化提示操作,仅在第一次新建报表时,由报表管理模块调用;“加载操作”用于加载报表时的内容初始化操作,每次加载报表都由报表管理模块调用;“验证操作”用于判断报表填写内容是否符合报表填写规范;“统计操作”用于统计和分析填写的报表内容,并将统计分析结果显示在报表上或者传递给报表管理模块。
所述的报表模板基类中的“查找操作”是虚方法,用于通过报表模板中的WPF元素tag标签查找指定WPF控件,该方法可以由子类重写,但是该方法的方法体中提供了一个默认的实现算法,该实现算法为一个递归查找算法,实现步骤如下:
1)设置要查找的WPF元素控件c为空值;
2)查找指定WPF元素控件的tag标签,如果tag值为指定的值,则将该控件赋值给c,查找结束;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于辽宁科技大学,未经辽宁科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710302976.8/2.html,转载请声明来源钻瓜专利网。