开篇
上篇我们讲述了报表开发的独立开发与基于平台的开发二种方式,相信大家已经对报表开发有了一定的了解,那么我们本篇将会巩固大家对报表开发的知识,我们这里提供一
个我们平时在项目中应用到的一些关于报表开发的模块,来尽可能的降低开发报表的成本和重复工作,尽量将重复的东西进行抽取,这样能够很方便的进行开发,下面我们来看看这
些报表开发的简单经验吧,当然可能我分享的经验不一定是最好的,当然如果你有更好的经验都可以分享出来,小弟谢过。由于水平有限,不足之处还请多多指出!
大纲
1、报表模板
2、基于报表模板的报表开发
3、总结
报表模板
我们平时在开发报表的过程中可能我们会重复如下的几个步骤:
1、设计窗体,查询条件,完成相应的查询功能,然后执行打印功能,那么我们能不能直接将查询功能与报表功能集成起来呢?也许这是个不错的办法。
2、重复的构建报表对象,需要我们手动的构建,或者我们需要写一个基类去完成这些功能。还有关于打印窗体的数据源对象的设置,并且还要将报表定义赋值给打印窗
体等,我们是否可以在初始化报表的时候就赋值给打印窗体呢?
3、我们如何能够是所有的打印窗体页面尽量的统一风格,并且看起来很整洁呢?我们可以通过控件模块来完成,下面我们就来看看最后的模板效果吧?
然后我们只要在查询条件区内定义相关的不同的查询条件,然后具体的查询结果区都通过报表控件来显示内容,这样可以直接查询结果直接可以打印。
下面我们就来分析下如何实现这个报表模块,一步一步的跟大家分享设计思路与实现:
a、定义查询条件基础控件:
b、基础的报表控件模板定义:
c、关于系统加载指定查询条件与具体的查询事件代码的处理:
d、具体的初始化查询控件的基础信息方法:
e、打印报表对象定义:
f、其他的辅助方法
g、设置报表的具体的数据源的相关方法:
基于报表模块的报表开发实例
上面我们分析了报表模板的实现思路与核心代码,下面我们将会基于该报表模板来开发一个报表,我们还是已药品入库为例。
第一步:设计查询条件
在后台添加如下事件:
这样我们就完成了报表查询条件的设计。
第二步:重写报表设计模板
重写查询方法:
这样就完成报表的开发了,简单吧,虽然可能看起来文件多了,但是开发起来层次非常的简单,当然查询方面的内部还能进一步的简化,还能继续优化,我这里就不举
例说明了。
第三步:运行测试/调试
下面我们就来看看我们之前开发的内容是不是能正常的显示呢?
经测试发现,我们的报表信息能够正常的显示,只要有数据信息就能正确的显示,这样我们就完成了报表功能模块的开发,这样的开发不但能够包装所有报表风格的统
一一致,更能让我们更专注业务方面的开发及有变更的部分的开发,而将通用的部分进行封装。
总结
通过上面的关于报表模板的定义及基于模板定义的开发不知道大家是不是还有更好的想法分享,当然如果您有好的意见和建议都可以提出来,希望我们能够开发出来更好
的工具和产品,来帮助我们提供更好的开发效果。
当然由于个人能力有限,错误支持在所难免,模板中的一些方法可以继续增强,并且还有部分重复的功能可以继续的重写和提炼,希望大家帮我补充和完善!
药店系统源码
其他文章
这里附带更多的关于AgileEAS.NET开发平台的说明文章。
1、官方博客:AgileEAS.NET 敏捷软件开发平台
4、AgileEAS.NET平台工具之数据原型设计器的使用场景示例
5、更多。。。
更多交流
如果您在使用AgileEAS.NET开发平台中有什么问题,请使用如下几种联系方式或者沟通方式。
1、电话-邮箱方式:
何戈洲:hegezhou_hot@163.com 手机:18691480181 博客:http://www.cnblogs.com/hegezhou_hot/
2、QQ交流群:
308961614 网名:H.O.T
作者:IT行者-何戈洲
出处:http://www.cnblogs.com/hegezhou_hot/
2007年大学毕业后便投入到计算机行业中,先后涉足(电信、电子商务、教育、医疗、工程建筑、项目管理、房产)等行业,目前有比较丰富的技术及行业经验,技术方面涉及(Java、Go、.NET、Python、设计模式、系统架构、PM管理流程、软件工程、敏捷开发、SOA、云计算、大数据、区块链、WF、SAAS等领域),结合业务可提供(EIP、ERP、HIS、B2B、B2C、B2B2C、CRM、OA、O2O等)业务及技术解决方案,随着时间的推移,目前已逐步转向管理方面,欢迎同行一起交流学习,个人平时爱好体育运动、音乐、旅游等,向往丰富多彩的生活旅程。如有问题或建议,请多多赐教!
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,如有问题,可以通过hegezhou_hot@163.com 联系我,非常感谢。
其他联系方式:
电话:13716055594
联系人:何戈洲
微信联系我: