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

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

系列回顾

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

本文论点

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

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

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

制做报表

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

image

 

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

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

 

AE[0]@FNGR6~B]}U3SBT]{W

         在这里面说明一个问题,因为报表是基于数据表对象建立的,没有连接数据库,预览数据是随机生成的,最后我们把报表定义保存到文件中,比如保持为“商品字典.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      }

 

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

image
 

 

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

 

链接

一步一步教你使用AgileEAS.NET基础类库进行应用开发-系列目录

AgileEAS.NET平台开发指南-系列目录

AgileEAS.NET应用开发平台介绍-文章索引

AgileEAS.NET平台应用开发教程-案例计划

AgileEAS.NET官方网站

敏捷软件工程实验室

QQ群:116773358

目录
相关文章
|
27天前
|
前端开发 Android开发
WinForm 直接运行 Admin.NET
本文介绍了如何将 Admin.NET 以 WinForm 桌面程序模式运行,简化了手动配置 Web 服务的过程,便于演示和作为单机软件使用。通过添加特定 NuGet 包、修改 `Program.cs` 和 `Form1.cs` 文件,并调整项目配置,最终实现了在 WinForm 中嵌入 WebView 组件显示 Admin.NET 界面的效果。
22 0
WinForm 直接运行 Admin.NET
winform .net6 和 framework 的图表控件,为啥项目中不存在chart控件,该如何解决?
本文讨论了在基于.NET 6和.NET Framework的WinForms项目中添加图表控件的不同方法。由于.NET 6的WinForms项目默认不包含Chart控件,可以通过NuGet包管理器安装如ScottPlot等图表插件。而对于基于.NET Framework的WinForms项目,Chart控件是默认存在的,也可以通过NuGet安装额外的图表插件,例如LiveCharts。文中提供了通过NuGet添加图表控件的步骤和截图说明。
winform .net6 和 framework 的图表控件,为啥项目中不存在chart控件,该如何解决?
|
编解码 JSON 算法
一个支持.Net 7的WinForm开源UI组件框架
一个支持.Net 7的WinForm开源UI组件框架
175 0
|
数据库 C#
C#,.net,winform导入Excel功能以及下载Excel文件到本地,并使用SqlBulkCopy把DataTable类型的数据写入到sqlserver数据库中
C#,.net,winform导入Excel功能以及下载Excel文件到本地,并使用SqlBulkCopy把DataTable类型的数据写入到sqlserver数据库中
32 0
|
C# 图形学 芯片
【物联网智能网关-04】WinForm for .NET MF 功能一览
 .Net Micro Framework界面开发官方标准功能仅支持WPF方式,并且所谓的WPF开发和Windows平台上的WPF有很大的区别,即不支持可视化界面设计,也不支持XML方式界面格式定义,另外提供的控件也很少,又不含事件处理,所以使用上相对繁琐,需要自己写很多额外代码。
907 0
|
开发框架 数据安全/隐私保护
NET快速信息化系统开发框架 V3.2 -WinForm部分全部重构为Dev风格界面
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chinahuyong/article/details/79447670 RDIFrameowrk.NET V3.2以前的版本WinForm部分使用的界面控件是DotNetBar,界面也是非常的美女,但相比现在市面上用得非常多功能强大的Dev控件还是略显逊色,V3.2版本花了大量功夫对框架全系界面做了升级重构,全面采用Dev风格的控件。
1504 0
|
数据安全/隐私保护 开发框架
.NET快速信息化系统开发框架 V3.2 -WinForm“组织机构管理”界面组织机构权限管理采用新的界面,操作权限按模块进行展示
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/chinahuyong/article/details/78377551   对于某些大型的企业、信息系统,涉及的组织机构较多,模块多、操作权限也多,对用户或角色一一设置模块、操作权限等比较繁琐。
1222 0
下一篇
DataWorks