专栏首页魏琼东一步一步教你使用AgileEAS.NET基础类库进行应用开发-WinForm应用篇-实现字典的打印

一步一步教你使用AgileEAS.NET基础类库进行应用开发-WinForm应用篇-实现字典的打印

系列回顾

         从上一篇文章一步一步教你使用AgileEAS.NET基础类库进行应用开发-WinForm应用篇-实例一个模块(商品字典)开始我带领大家进入WinForm篇,并且使用示例的形式详细的演示了数据表对象的查询与列表的手工绑定。

本文论点

         今天我将在上一篇文章的基础上介绍信息系统的另一个非常重要的功能,报表与打印,本文要实现的功能就是把商品字典的查询结果(已经显示在UI)打印出来。

         本文结合商品字典的查询我介绍基于ORM实体的报表制做技术与程序中如何应用报表,具体的说就是,如果根据现有的数据对象(数据表对象)建立报表的定义,以及如何在程序中使用报表打印、预览组件,并用商品字典的查询结果(数据表对象)做为报表的填充数据源。

         下面我将先介绍报表的制作:

制做报表

          运行报表设计器ReportDesigner.Start.exe,选择文件菜单的新建--->对象报表,打开“新建数据对象报表”对话框:

         切换到“数据对象”Tab页,点击“浏览”选择程序集Product.DAL.SQLServer.dll,然后在对象下拉列表中选择“Product.DAL.SQLServer.Product”,然后确定打开设计界面:

         上图是报表设计器根据数据实体自动生成的报表,我们需要对其进行修改,修改的合理和好看一些,并预览一下:

         在这里面说明一个问题,因为报表是基于数据表对象建立的,没有连接数据库,预览数据是随机生成的,最后我们把报表定义保存到文件中,比如保持为“商品字典.rdl”,这样我们完成了报表的制度。

使用报表

         报表制做完成了,接下来的任务就是如何在程序中使用这个报表,首先我们在Product.UI中引用RdlEngine.dll、RdlViewer.dll、EAS.Report.DAL.Interface.dll、EAS.Report.Controls.dll四个文件,然后我们来编写工具条的打印按钮的Click事件处理代码: 

 1  private void tsbPrint_Click(object sender, EventArgs e)
 2     {
 3  if (this.lvInfo.Items.Count == 0)
 4         {
 5             MessageBox.Show("没有需要打印的数据!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information);
 6  return;
 7         }
 8 
 9  if (this.printForm == null)
10  this.printForm = new RDLViewDialog();
11 
12  //
13         System.IO.TextReader textReader = null;
14  try
15         {
16  string fileName = Path.Combine(Application.StartupPath, "Reports\\商品字典.rdl");
17             textReader = new System.IO.StreamReader(fileName);
18  this.printForm.SourceRdl = textReader.ReadToEnd();
19         }
20  finally
21         {
22  if (textReader != null)
23                 textReader.Close();
24         }
25 
26  this.printForm.DataObject = this.lvInfo.Tag;
27  this.printForm.PrintPreview();
28     }

编译运行程序,看看效果:

          有关本例子所涉及的数据表结构请参考基于AgileEAS.NET平台基础类库进行应用开发-总体说明及数据定义一文,有关数据对象模型定义文件、文档、DDL脚本请下载:http://files.cnblogs.com/eastjade/demo.db.doc.sql.rar,本文完整代码下载:Product.Demo.rar

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET平台开发指南 - 报表系统集成说明

    概述          AgileEAS.NET平台提供了自己的报表设计器,并且把报表和平台集成在一起,开发人员可以使用独立的报表设计器设计好报表之后导入到Ag...

    魏琼东
  • 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET平台开发指南 - 处理报表

    报表系统介绍          我们都知道,在信息系统开发过程中,报表占据着很重要的位置,业务运营数据最后给领导的反应就是那么几张综合的业务数据报表,在如何选择...

    魏琼东
  • 一步一步教你使用AgileEAS.NET基础类库进行应用开发-WinForm应用篇-演示使用报表构建UI-入库业务查询模块

    回顾与说明     前面我们把“商品字典”、“商品入库”、“商品库存查询”三个模块已经概括或者详细的演示完了,这些模块涉及到简单数据的增、删、修,也涉及到复杂业...

    魏琼东
  • 不用Visual Studio,5分钟轻松实现一张报表

    常规的报表设计,如RDLC、水晶报表等,需要安装Visual Studio,通过VS提供的报表设计界面来设计报表,通过VS设计报表对.NET开发者而言非常方便,...

    葡萄城控件
  • 免费资源 | ActiveReports 报表控件发布多平台 Demo 代码集合

    近期,ActiveReports 产品开发组的小伙伴针对大家比较关注的报表功能、常见问题、经典实现,特意准备了一个Demo代码集合,涉及WinFormss \ ...

    葡萄城控件
  • 电子装配工厂MES系统最关注的5类报表

    电子装配工厂MES系统最关注的5类报表导读:随着中国制造业升级,传统靠低价劳动力生存的企业生存空间越来越小,客户对质量的追求越来越高,很多企业面临着不上MES系...

    华磊迅拓
  • 用Excel做了7天报表,这个领导喜欢的可视化工具,只用了7小时

    以前我在某外企银行实习的时候,需要处理将近七年的财务报表,如果按照传统的方式,我估计七天七夜都处理不完,就更别提分析了。一般来说外企的电脑软件限制非常严格,有专...

    大数据分析不是事儿
  • 快速学习JasperReport-父子报表

    系统会自动弹出子报表选择窗口。可以选择创建一个新报表,还是使用一个已有的报表作为子报表。

    cwl_java
  • 人力资源管理系统中如何应用报表分析

    无论大中小型企业都会有自己的人力资源信息系统,对当前企业所有人员的分层管理,管理人员各方面能力及信息分析,人力资源管理系统是一个体系,展开后有很多模组,如:任用...

    葡萄城控件
  • 基于DotNet构件技术的企业级敏捷软件开发平台 - AgileEAS.NET平台开发指南 - 报表系统集成说明

    概述          AgileEAS.NET平台提供了自己的报表设计器,并且把报表和平台集成在一起,开发人员可以使用独立的报表设计器设计好报表之后导入到Ag...

    魏琼东

扫码关注云+社区

领取腾讯云代金券