ActiveReports 报告应用程序教程 (2)---上市类报告
大多数数字在报告中系统类报告列表。实例:客户名单、产品列表、设备清单、采购清单、优惠券、商品发票、工作人员清点等。。根据报告,查看类别列表相对简单。但,分丰富,在清单类报表中能够增加数据统计、数据分栏、数据分组,以及交互式报表和数据可视化功能。
本文将展示两种布局的清单类报表,表格式清单报表和自由布局清单报表。
1、表格式清单报表——客户信息清单
在客户信息清单报表中以表格形式显示全部客户信息。包含客户编号、公司名称、联系人、联系人职务、电话和地址信息。同一时候。报表显示客户总数和页码信息。
1.1、在应用程序中创建一个名为 rptCustomerList.cs 的报表,使用的报表模板为 ActiveReports 区域报表(基于代码)。
打开 rptCustomerList 报表设计界面,在 detail 区域的左上角有一个数据源图表。
点击该图标以创建报表数据源,我们使用的数据源是源码project中 Data 文件夹下的 NWind_CHS.mdb,在打开的报表数据源对话框中,选择”提供程序”选项卡,点击建立连接button以打开“数据链接属性”对话框,并选择 “Microsoft Jet 4.0 OLE DB Provider”数据提供器,点击“下一步”button切换到 “连接”选项卡,点击“…”button定位到 NWind_CHS.mdb 文件,然后点击“确定”button以完毕创建据源的操作。
回到“OLE DB”选项卡之后在查询区域输入一下 SQL 语句:Select * from 客户;,终于结果例如以下:
创建完数据源之后回到报表设计界面。然后通过 VS2010 “菜单” –> “其它窗体” –> “报表资源管理器 V7”打开 ActiveReports 报表资源管理器
在报表资源管理器的“字段” –> “绑定”节点下列出了客户数据表中的全部字段
picture=image_136.png"> picture=image_thumb_136.png" border="0">
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 键执行程序得到下面结果:
picture=image_thumb_137.png" border="0">
2、自由布局式清单报表——商品信息清单
在进行 ActiveReports 报表界面设计时,您能够通过拖拽的方式对报表控件进行自由布局。而不局限于表格式的布局方式。商品信息清单中每一条商品信息都是以多行、多列以及多行合并的方式进行显示。
2.1、在project中创建名为 rptProductList.cs 的报表。使用的报表模板为 ActiveReports 区域报表(基于代码)。创建完毕之后我们为表示设置下图中的数据源信息:
![]()
2.2、从报表资源管理器的字段、绑定节点中将须要的字段拖拽到报表设计界面,须要注意的是产品图片使用的是Picture控件来呈现的。
终于的设计效果例如以下图所看到的:
![]()
2.3、通过 F5 键执行程序,得到下面执行结果:
picture=image_thumb_76.png" border="0">
源代码下载地址: http://www.gcpowertools.com.cn/products/activereports_demo.htm
版权声明:本文博主原创文章。博客,未经同意不得转载。
ActiveReports 报告应用程序教程 (2)---上市类报告的更多相关文章
- 微信小程序教程汇总
目前市面上在内测期间出来的一些实战类教程还是很不错的,主要还是去快速学习小程序开发的整体流程,一个组件一个组件的讲的很可能微信小程序一升级,这个组件就变了,事实本就如此,谁让现在是内测呢.我们不怕,下 ...
- 微信小程序 教程及示例
作者:初雪链接:https://www.zhihu.com/question/50907897/answer/128494332来源:知乎著作权归作者所有,转载请联系作者获得授权.微信小程序正式公测, ...
- 使用mpvue开发小程序教程(三)
在上一篇文章中,我们熟悉了一下通过vue-cli生成的mpvue工程代码骨架的基本结构,大致了解了每一个部分的代码到底要放到何处.从本文起我们就开始涉及真正的编码部分,学习使用Vue的语法去编写小程序 ...
- 微信小程序 教程之引用
系列文章: 微信小程序 教程之WXSS微信小程序 教程之引用微信小程序 教程之事件微信小程序 教程之模板微信小程序 教程之列表渲染微信小程序 教程之条件渲染微信小程序 教程之数据绑定微信小程序 教程之 ...
- Util应用程序框架公共操作类(十二):Lambda表达式公共操作类(三)
今天在开发一个简单查询时,发现我的Lambda操作类的GetValue方法无法正确获取枚举类型值,以至查询结果错误. 我增加了几个单元测试来捕获错误,代码如下. /// <summary> ...
- Util应用程序框架公共操作类(七):Lambda表达式公共操作类
前一篇扩展了两个常用验证方法,本文将封装两个Lambda表达式操作,用来为下一篇的查询扩展服务. Lambda表达式是一种简洁的匿名函数语法,可以用它将方法作为委托参数传递.在Linq中,大量使用La ...
- 三分之一的程序猿之社交类app踩过的那些坑
三分之一的程序猿之社交类app踩过的那些坑 万众创新,全民创业.哪怕去年陌生人社交不管融资与否都倒闭了不知道多少家,但是依然有很多陌生人社交应用层出不穷的冒出来.各种脑洞大开,让人拍案叫起. 下面我们 ...
- 类的继承和多态性-编写Java应用程序,定义Animal类,此类中有动物的属性:名称 name,腿的数量legs,统计动物的数量 count;方法:设置动物腿数量的方法 void setLegs(),获得腿数量的方法 getLegs(),设置动物名称的方法 setKind(),获得动物名称的方法 getKind(),获得动物数量的方法 getCount()。定义Fish类,是Animal类的子类,
编写Java应用程序,定义Animal类,此类中有动物的属性:名称 name,腿的数量legs,统计动物的数量 count;方法:设置动物腿数量的方法 void setLegs(),获得腿数量的方法 ...
- java基础,继承类题目:编写一个Java应用程序,该程序包括3个类:Monkey类、People类和主类 E
21.编写一个Java应用程序,该程序包括3个类:Monkey类.People类和主类 E.要求: (1) Monkey类中有个构造方法:Monkey (String s),并且有个public vo ...
随机推荐
- BZOJ 3038 上帝造题的七分钟2 树状数组+并查集
题目大意:一个序列,有两种操作.1.将一段数中的每个数开根号.2.查询一段数的和. 思路:和3211是一个题,有兴趣的能够看看我的那篇博客. CODE: #include <cmath> ...
- 8.2 Android灯光系统_led_class驱动
android-5.0.2\hardware\libhardware\include\hardware\lights.h //系统一些宏定义 android源码只带的灯光驱动在linux内核的dri ...
- Xvisor ARM32 启动分析
Linux内核历史悠久,特性丰富,但是代码量庞大,各个子系统交叉繁琐.对于想要将操作系统内核各个特性研究一遍的人,有时候也只好"望Linux兴叹".Xvisor是一个较新的Type ...
- C++ 宏、范型和RTTI 浅析
[摘要] RTTI(Run-Time Type Identification)是面向对象程序设计中一种重要的技术. 现行的C++标准对RTTI已经有了明白的支持. 只是在某些情况下出于特 ...
- PHP通用非法字符检测函数集锦
<? // [变量定义规则]:‘C_’=字符型,‘I_’=整型,‘N_’=数字型,‘L_’=布尔型,‘A_’=数组型 // ※CheckMoney($C_Money) 检查数据是否是 99999 ...
- 29、从零写USB摄像头驱动之通过urb接受数据后上报数据是函数中fid的作用
原因分析如下: 视频数据是由一帧一帧数据组成,为了防止数据错乱,会给每一帧数据分配一个frameid,从第0帧开始,接着是第1帧,接着又是第0帧这样交错进行的,对usb摄像头来说每一帧数据来源于多个包 ...
- c#之mysql四种带事务批量插入
前言 对于像我这样的业务程序员开发一些表单内容是家常便饭的事情,说道表单 我们都避免不了多行内容的提交,多行内容保存,自然要用到数据库,如果循环打扰我数据库,数据库也会觉得很累,从而增加数据库服务器压 ...
- C语言编程程序的内存怎样布局
在c语言中,每一个变量和函数有两个属性:数据类型和数据的存储类别. C语言中局部变量和全局变量变量的存储类别(static,extern,auto,register) 1. 从变量的作用域划分变量(即 ...
- php 修改文件内容,替换指定内容
$f='./test.txt'; file_put_contents($f,str_replace('{{modulename}}','Hospital',file_get_contents($f)) ...
- GridView在PopWindow中OnItemClick不响应
在安卓4.0系统中,GridView在PopWindow中OnItemClick不响应,但是有按压效果.需要PopWindow的Show时加入这行代码: popupWindow.setFocusabl ...