ActiveReports 报表应用教程 (2)---清单类报表

在大多报表系统中都有清单类报表的身影,比如:客户清单、商品信息清单、设备清单、物品采购清单、记账凭证、货品发货清单、员工清单等等。清单类报表看视乎比较简单,但是,由清单类报表演变而来的报表类型却十分丰富,在清单类报表中可以加入数据统计、数据分栏、数据分组,以及交互式报表和数据可视化功能。

本文将展示两种布局的清单类报表,表格式清单报表和自由布局清单报表。

1、表格式清单报表——客户信息清单

在客户信息清单报表中以表格形式显示所有客户信息,包括客户编号、公司名称、联系人、联系人职务、电话和地址信息,同时,报表显示客户总数和页码信息。

1.1、在应用程序中创建一个名为 rptCustomerList.cs 的报表,使用的报表模板为葡萄城ActiveReports报表的区域报表(基于代码)。

打开 rptCustomerList 报表设计界面,在 detail 区域的左上角有一个数据源图表。点击该图标以创建报表数据源,我们使用的数据源是源代码工程中 Data 目录下的 NWind_CHS.mdb,在打开的报表数据源对话框中,选择”提供程序”选项卡,点击建立连接按钮以打开“数据链接属性”对话框,并选择 “Microsoft Jet 4.0 OLE DB Provider”数据提供器,点击“下一步”按钮切换到 “连接”选项卡,点击“…”按钮定位到 NWind_CHS.mdb 文件,然后点击“确定”按钮以完成创建据源的操作。

回到“OLE DB”选项卡之后在查询区域输入一下 SQL 语句:Select * from 客户;,最终结果如下:

创建完数据源之后回到报表设计界面,然后通过 VS2010 “菜单” –> “其他窗口” –> “报表资源管理器 V7”打开 ActiveReports 报表资源管理器

在报表资源管理器的“字段” –> “绑定”节点下列出了客户数据表中的所有字段

1.2、将数据库字段拖拽到到报表设计界面的 detail 区域中,同时从 VS 工具箱中的 “ActiveReports 7 区域布局报表” 分类下将 Label 添加到 pageHeader 区域中,并于 detail 中的数据字段一一对应。

因为报表纸张大小的限制,为了能在有限区域内更多内容,我们需要设置 txt公司名称1 和 txt地址1 控件的 ShrinkToFit 为True,通过该属性设置控件可以根据数据内容自动调整字体大小。

在 pageHeader 中添加一个 TextBox 控件,并设置以下属性:

DataFiedl = 客户ID

SummaryFunc = Count

SummaryType = GrandTotal

在 pageFooter 中添加一个 ReportInfo 控件,如何设置以下属性:

FormatString = 第 {PageNumber} 页,共 {PageCount} 页

最后,在 ASPX 页面中添加 WebViewer 控件,并设置以下属性:

ReportName = ControlExplorer.Reports.rptCustomerList

ViewerType = FlashViewer

1.3、F5 键运行程序得到以下结果:

2、自由布局式清单报表——商品信息清单

在进行葡萄城ActiveReports报表报表界面设计时,您可以通过拖拽的方式对报表控件进行自由布局,而不局限于表格式的布局方式。商品信息清单中每一条商品信息都是以多行、多列以及多行合并的方式进行显示。

2.1、在工程中创建名为 rptProductList.cs 的报表,使用的报表模板为 ActiveReports 区域报表(基于代码)。创建完成之后我们为表示设置下图中的数据源信息:

2.2、从报表资源管理器的字段、绑定节点中将需要的字段拖拽到报表设计界面,需要注意的是产品图片使用的是Picture控件来呈现的。最终的设计效果如下图所示:

2.3、通过 F5 键运行程序,得到以下运行结果:

源码下载地址: http://www.gcpowertools.com.cn/products/activereports_demo.htm

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏刘宁的专栏

Android开发入门的正确姿势

对于从事移动客户端开发者的初学者而言,不论是Android还是iOS开发,对客户端开发有一个整体的认识,然后再逐步深入,这样会有事半功倍的效果。

1.4K00
来自专栏编程

vuejs开发H5页面总结

最近参与了APP内嵌H5页面的开发,这次使用vuejs替代了jQuery,仅仅把vuejs当做一个库来使用,效率提高之外代码可读性更强,在此分享一下自己的一些开...

50290
来自专栏互联网杂技

AngularJS 对SEO是硬伤

在过去的2014年, 前端开发因为大量前端框架的出现开发模式有了巨大的改变,MVC这个web服务器端开发的模式,由于angularjs们的出现,变成了前端MVV...

87570
来自专栏古时的风筝

最简单的数据抓取教程,人人都用得上

这么简单的工具当然对环境的要求也很简单了,只需要一台能联网的电脑,一个版本不是很低的 Chrome 浏览器,具体的版本要求是大于 31 ,当然是越新越好了。目前...

63480
来自专栏编程微刊

Eclipse如何从SVN更新和上传修改部分项目

22830
来自专栏贾鹏辉的技术专栏@CrazyCodeBoy

快速创建React Native App

尊重版权,未经授权不得转载 本文出自:贾鹏辉的技术博客(http://www.devio.org) 告诉大家一个好消息,为大家精心准备的React N...

46440
来自专栏Flutter入门

Android 屏幕录制GIF脚本

因为一直需要将Android手机上的效果录制下来,转成gif,然后上传到博客上。 原来都需要手动操作好几次,所以索性的写了一个脚本来配合使用。

29510
来自专栏达摩兵的技术空间

touch-action导致安卓页面无法滚动

相信大家搜css touch-action很容易搜到一批文章,但感觉自己还是需要写下自己这这个过程中的一些探索经历。

1K00
来自专栏進无尽的文章

扒虫篇-使用Xcode8上传到AppStore 无法构建版本 没有➕号

由于公司产品需要上架,在准备好相关文件后,就火速设置好itunsConnect里面的内容,使用Xcode8火速上传 ipa文件到 AppStore后就开心的准备...

16420
来自专栏听雨堂

Android新手之旅(7) RadioButton的自定义

希望用到RadioGroup的功能,但遇到一些看似简单问题却无法解决:系统的图标太大却难以更换,在网上找解决方案。有些地方提到,由于用的是图片,所以无法缩小,...

27880

扫码关注云+社区

领取腾讯云代金券