AgileEAS.NET平台开发实例-药店系统-报表开发(高级篇)

开篇

        上篇我们讲述了报表开发的独立开发与基于平台的开发二种方式,相信大家已经对报表开发有了一定的了解,那么我们本篇将会巩固大家对报表开发的知识,我们这里提供一

个我们平时在项目中应用到的一些关于报表开发的模块,来尽可能的降低开发报表的成本和重复工作,尽量将重复的东西进行抽取,这样能够很方便的进行开发,下面我们来看看这

些报表开发的简单经验吧,当然可能我分享的经验不一定是最好的,当然如果你有更好的经验都可以分享出来,小弟谢过。由于水平有限,不足之处还请多多指出!

大纲

         1、报表模板

         2、基于报表模板的报表开发

         3、总结

报表模板

          我们平时在开发报表的过程中可能我们会重复如下的几个步骤:

          1、设计窗体,查询条件,完成相应的查询功能,然后执行打印功能,那么我们能不能直接将查询功能与报表功能集成起来呢?也许这是个不错的办法。

          2、重复的构建报表对象,需要我们手动的构建,或者我们需要写一个基类去完成这些功能。还有关于打印窗体的数据源对象的设置,并且还要将报表定义赋值给打印窗

体等,我们是否可以在初始化报表的时候就赋值给打印窗体呢?

          3、我们如何能够是所有的打印窗体页面尽量的统一风格,并且看起来很整洁呢?我们可以通过控件模块来完成,下面我们就来看看最后的模板效果吧?

          AgileEAS.NET平台开发实例-药店系统-报表开发(高级篇)

           然后我们只要在查询条件区内定义相关的不同的查询条件,然后具体的查询结果区都通过报表控件来显示内容,这样可以直接查询结果直接可以打印。

           AgileEAS.NET平台开发实例-药店系统-报表开发(高级篇)

           下面我们就来分析下如何实现这个报表模块,一步一步的跟大家分享设计思路与实现:

           a、定义查询条件基础控件:

           AgileEAS.NET平台开发实例-药店系统-报表开发(高级篇)

           b、基础的报表控件模板定义:

           AgileEAS.NET平台开发实例-药店系统-报表开发(高级篇)

           c、关于系统加载指定查询条件与具体的查询事件代码的处理:

           AgileEAS.NET平台开发实例-药店系统-报表开发(高级篇)报表控件-用于显示数据源的具体内容。

           AgileEAS.NET平台开发实例-药店系统-报表开发(高级篇)查询条件控件。并且当控件对象不为空时,初始化控件信息。

           d、具体的初始化查询控件的基础信息方法:

           AgileEAS.NET平台开发实例-药店系统-报表开发(高级篇)

           e、打印报表对象定义:

           AgileEAS.NET平台开发实例-药店系统-报表开发(高级篇)

           f、其他的辅助方法

           AgileEAS.NET平台开发实例-药店系统-报表开发(高级篇)

           g、设置报表的具体的数据源的相关方法:

           AgileEAS.NET平台开发实例-药店系统-报表开发(高级篇)

基于报表模块的报表开发实例

           上面我们分析了报表模板的实现思路与核心代码,下面我们将会基于该报表模板来开发一个报表,我们还是已药品入库为例。

           第一步:设计查询条件

           AgileEAS.NET平台开发实例-药店系统-报表开发(高级篇)

            在后台添加如下事件:

            AgileEAS.NET平台开发实例-药店系统-报表开发(高级篇)

           这样我们就完成了报表查询条件的设计。

           第二步:重写报表设计模板

           AgileEAS.NET平台开发实例-药店系统-报表开发(高级篇)

           重写查询方法:

           AgileEAS.NET平台开发实例-药店系统-报表开发(高级篇)

           这样就完成报表的开发了,简单吧,虽然可能看起来文件多了,但是开发起来层次非常的简单,当然查询方面的内部还能进一步的简化,还能继续优化,我这里就不举

例说明了。

           第三步:运行测试/调试

           下面我们就来看看我们之前开发的内容是不是能正常的显示呢?

           AgileEAS.NET平台开发实例-药店系统-报表开发(高级篇)

            经测试发现,我们的报表信息能够正常的显示,只要有数据信息就能正确的显示,这样我们就完成了报表功能模块的开发,这样的开发不但能够包装所有报表风格的统

一一致,更能让我们更专注业务方面的开发及有变更的部分的开发,而将通用的部分进行封装。

总结

        通过上面的关于报表模板的定义及基于模板定义的开发不知道大家是不是还有更好的想法分享,当然如果您有好的意见和建议都可以提出来,希望我们能够开发出来更好

的工具和产品,来帮助我们提供更好的开发效果。

        当然由于个人能力有限,错误支持在所难免,模板中的一些方法可以继续增强,并且还有部分重复的功能可以继续的重写和提炼,希望大家帮我补充和完善!

 

药店系统源码

AgileEAS.NET平台开发实例-药店系统-报表开发(高级篇)

 

其他文章

这里附带更多的关于AgileEAS.NET开发平台的说明文章。

1、官方博客:AgileEAS.NET 敏捷软件开发平台

2、作者博客:魏琼东

3、AgileEAS.NET平台-文档发布-还等什么?

4、AgileEAS.NET平台工具之数据原型设计器的使用场景示例

5、更多。。。

更多交流

官方博客:http://www.smarteas.net/

官方网站:http://www.agilelab.cn/

如果您在使用AgileEAS.NET开发平台中有什么问题,请使用如下几种联系方式或者沟通方式。

1、邮箱方式:

魏琼东: mail.james@qq.com 手机:18629261335 博客:http://eastjade.cnblogs.com/

殷长波:549558408@qq.com 博客: http://www.cnblogs.com/onmyway/

何戈洲:hegezhou_hot@163.com 博客:http://www.cnblogs.com/hegezhou_hot/

2、QQ交流群:

AgileEAS.NET平台交流群:120661978(超级群)[新建] 
AgileEAS.NET平台交流群:125643764(高级群)[新建] 
AgileEAS.NET平台交流群:147168308(高级群)[新建]

上一篇:如何在 Ubuntu 中再次登录时还原上次运行的应用


下一篇:【我的Android进阶之旅】Android 如何防止 so库文件被未知应用盗用?