开篇

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

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

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

大纲

1、报表模板

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

3、总结

报表模板

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

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

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

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

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

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

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

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

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

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

报表控件-用于显示数据源的具体内容。

查询条件控件。并且当控件对象不为空时,初始化控件信息。

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

e、打印报表对象定义:

f、其他的辅助方法

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

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

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

第一步:设计查询条件

在后台添加如下事件:

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

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

重写查询方法:

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

例说明了。

第三步:运行测试/调试

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

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

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

总结

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

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

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

本文转自何戈洲博客园博客,原文链接:http://www.cnblogs.com/hegezhou_hot/archive/2011/04/06/2006696.html,如需转载请自行联系原作者

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

  1. AgileEAS.NET平台开发实例-药店系统-报表开发(上)

    开篇 前面我们讲述了药店系统的开发流程,并且也讲述了如何开发一个基础模块,下面我们来看看,如何开发一个报表, 因为我们在药店系统中最常用的功能之一就是打印功 能了,AgileEAS.NET平台本身已提 ...

  2. AgileEAS.NET平台开发实例-药店系统-准备开发环境(上)

    开篇 上一篇我们主要是讲述了如何根据数据库原型设计器提供的相关功能来构建ORM提供的相关信息,例如根据数据库与实体对象之间通过数据原型来进行双向的映射.本篇 我们将会根据上篇<AgileEAS. ...

  3. AgileEAS.NET平台开发实例-药店系统-数据库还原

    为什么80%的码农都做不了架构师?>>>    开篇 有不少的朋友下载到该药店系统的数据库后,不会还原数据库,由于当时我备份的时候并没有把SQL2005的mdf与ldf文件直接放出下 ...

  4. AgileEAS.NET平台开发案例-药店系统-项目说明

    为什么80%的码农都做不了架构师?>>>    开篇 我们都知道开发一个软件必须要有开发的背景和特殊的需求等等,我们就来分析我们开发该系统的项目背景和开发该项目的目的.下面我们来分析 ...

  5. java电商网站建设教程_java开发电商系统实战开发视频教程

    JAVA 当前位置:主页 > 编程教程 > JAVA > java开发电商系统实战开发视频教程 java开发电商系统实战开发视频教程 教程大小:4GB   发布时间:2018-07- ...

  6. oracle系统报表开发工具,掌握七款实用报表开发工具,定制属于自己的报表

    阅读提示: 文章中与FineReport软件使用的相关内容,基于软件的V7.0旧版本编写,不代表软件最新的使用方式. FineReport最新版免费试用:https://www.finereport. ...

  7. solidworks api二次开发实例详解_Solidworks开发语言对比及分析

    很多初学Solidworks二次开发的同学,也许都会纠结使用何种语言进行二次开发.对于Solidworks二次开发的语言,官方有VBA,VB.NET,C#以及C++,四种语言. 用户通常会有如下疑问, ...

  8. python项目开发实例书-Python项目开发实战

    本书案例具有实用性,如校园网搜索引擎.小小翻译器.抓取百度图片这些爬虫案例略加修改可以应用实际项目中:还有通过微信通信协议开发微信机器人,机器学习的文本分类.基于卷积神经网络的手写体识别等案例,另外是 ...

  9. Qlik sense开发入门/可视化BI报表开发入门

    最近开发公司的BI可视化报表,接触了Qlik报表工具,使用过程中发现网上入门教程很少,因此写一篇入门开发经历.啥也不说,先上一个已经开发完成的需求中的其中一个展示页面截图: 如上图, Qlik这个工具 ...

最新文章

  1. 前端如何查看音频的长度_重学前端基础:如何查看文档对象的所有属性?如何文档查找节点?...
  2. 关于ACM写给自己啦
  3. 【分块】#6283. 数列分块入门 7(区间乘法、区间加法、单点查询)
  4. 管理和配置客户端访问服务器
  5. Win32 多线程的创建方法,区别和联系
  6. OGEngine基于java支持跨平台的手游开发开源引擎
  7. 答网友提问:使用 SAP Fiori Tools 创建的 Fiori Elements 应用,如何进行二次开发?
  8. 开源的类似于Apache ab的压力测试命令行工具SuperBenchmarker
  9. springboot 闪退。falling back to default profiles: default StandardService - Stopping service [Tomcat]
  10. c语言的单行注释范围,c语言中的注释,multi-line comment
  11. mysql数据库写分页函数_mysql数据库写分页函数
  12. caffe linux跑自己数据,caffe+linux平台——跑深度学习的流程
  13. shell的算术运算
  14. Gstreamer加载插件原理(二十五)
  15. android studio 找不到reosurce,EF 6 Bridge Table Insert Not Working
  16. 理解 HTTP 幂等性
  17. CSF2020大作业
  18. 华为浏览器工具箱 html修改,华为手机修改浏览器模式为电脑浏览模式的方法
  19. centos7 小图标_Centos7 桌面图标设置
  20. Sql Server Report Builder 计算标准偏差

热门文章

  1. vector拷贝复制方法
  2. Notepad++安装教程
  3. python写后台接口请求出错_python登录接口测试问题记录与解决
  4. html注释绕过,关于javascript:提交时绕过HTML的“ required”属性
  5. ue4相机_[UE4]偏门实用技巧合集
  6. 逐渐增高_钩机加长臂的销量持续增高成为热点话题!
  7. Linux学习笔记(四)|软件安装指令
  8. Java基础day6
  9. tensorflow随笔-tf.decode_csv
  10. 【学术相关】新一轮“双一流”名单公布!这些学校上榜