本帖最后由 wutingting 于 2016-3-14 09:16 编辑
一、总体概要
报表的制作是在DIP中的报表中心管理[34582]中进行操作设计,预览是在CIP中所对应的form中。
报表设计操作动态图片,双击可以放大。
二、功能位置
设计报表的界面是在DIP中的[34582]报表中心管理中设计的。
三、操作步骤
a)在DIP中打开报表中心管理[34582]然后在报表中心管理的页面中可以看到【新建报表】的工具栏,如果一次需要做多个报表的,可以先新建一个目录,然后在你新建的目录里面来【新增报表】。下图中我们所看到的新建报表的下拉里面有一个【新建目录】,下面的硬件合同就是一个目录,新建好目录之后就可以在硬件合同目录下新建报表了。
b)做报表的数据来源全都取决于我们的SQL语句,SQL里面查询了什么,报表里面就会显示什么信息。并且需要给定参数,示例报表的SQL关系是主从关系所给定参数为主表WHERE A.iIden=:iIden、从表WHERE A.iHdrId=:iIden。
如果报表中的参数是其他的字段那么在数据来源SQL中给完参数后,要去插件动态Action中写一条Action来实现值的传递。
示例如下:
然后就可设计报表格式了。
c)当添加新空白报表到项目中时,在默认情况下,它的外观如下图所示。可以看到,报表区域最初被划分为三个基本带区 (topMarginBand1、Detail 和 bottomMarginBand1带区),为在其中放置不同的 报表控件 预留了空间。
下表是对报表的一些带区的介绍。
报表带区类
| 说明
| TopMarginBand
| 每个页面上部的空白(也翻译为“天头”),在PageHeaderBand 或 ReportHeaderBand 上方。
| ReportHeaderBand
| 在报表起始位置(也翻译为“报表标头”)。 此带区被设计用于显示某些概述信息,例如报表的封面。
| PageHeaderBand
| 在报表起始位置(也翻译为“报表标头”)。 此带区被设计用于显示某些概述信息,例如报表的封面。
| GroupHeaderBand
| 在每组的起始位置,或者在分跨多个页时而位于组的上方(也翻译为“分组标头”)。 此带区指定分组标准,并被用于显示每组记录起始位置的信息。 更多信息,请参阅 对数据分组。
| DetailBand
| 在页面上所有其他带区之间(也翻译为“细节带区”)。 此带区每行只显示绑定数据源中的一条记录,或者当没有为报表指定数据源时而简单地持有非绑定控件。 要获得更多关于数据绑定的信息,请参阅 提供数据。
| DetailReportBand
| 在 DetailBand 下方(也翻译为“从报表带区”),被设计用于在创建主/从报表时持有从报表。 从报表的主/从关系是通过 XtraReportBase.DataMember 属性指定的。 要学习更多关于从报表的内容,请参阅 主/从报表。
| GroupFooterBand
| 在每组的结束位置,或者在分跨多个页时而位于组的下方(也翻译为“分组脚注”)。 此带区主要被设计用于显示每组的总结信息。
| ReportFooterBand
| 在报表结束位置(也翻译为“报表脚注”)。 此带区被设计用于显示某些终极信息,例如报表总结。
| PageFooterBand
| 在每个页面的下方,在 ReportFooterBand 下方和 BottomMarginBand 上方(也翻译为“页脚”)。 此带区被设计用于从之前页面接续的页码或表尾。
| BottomMarginBand
| 每个页面底部的空白(也翻译为“地脚”),在 PageFooterBand 下方。
|
报表中 【细节带区】被呈现的次数取决于从绑定数据源中返回的记录数目 —— 每条记录一个带区。 d)报表设计器所包含的组件
图标 | 组件 | 说明 |
| 标签 | 标签控件,允许把单行或多行文本插入到报表中。 注意,此文本可能是静态的,也可能是动态从报表数据源中装载的。 |
| 选择框 | 复选框控件,被设计用于在报表中显示 True/False 或 选中/未选中/不确定 状态。 |
| 富文本 | 富文本控件,被设计用于显示、输入和操作设置格式的文本。 可以在设计时刻输入文本和设置文本格式、从外部文件中加载、或者把此控件绑定到数据字段。 |
| 图片框 | 图片框控件,用于显示报表中的图像。 使用此控件可以把不同类型的图像插入到报表中。 |
| 面板 | 面板控件,可以包含其他报表控件。 使用它可以对控件分组,或者使控件操作更容易。 |
| 表格 | 表格控件,用于插入表格 (包括行和单元格)。 如果需要以表格形式显示数据,那么此控件就是“无价之宝”。 |
| 行
| 线条控件,用于在报表中绘制垂直线、水平线或斜线。 |
| 形状 | 形状控件,用于把简单的图形嵌入到报表中。 |
| 条形码 | 条形码控件,允许把许多不同的条形码类型插入到报表中。。 |
| 邮编 | 邮政编码控件,允许把表示邮政编码的数字插入到报表中。 |
| 图表 | 图表控件,可以用于以图形视图呈现数据。 |
| 数据透视表 | 透视网格控件(也被称为透视表),用于以交叉表的形式呈现下层数据源中的数据,从而创建交叉表报表。 | | 子报表 | 用于在报表中添加子报表,被添加的报表需要被包含在项目中,并设置子报表和报表的属性,子报表可用于合并报表和创建主从报表。 |
| 页面信息 | 一个在报表中显示某些辅助信息的控件。 使用此控件可以在报表中显示页码、当前日期或用户信息。 |
| 分页符 | 分页符控件,用作标记报表应开始新页面的位置。 |
| 交叉行 | 可以跨多个带区的线条控件 | | 交叉框 | 可以跨多个带区的方框控件 | e)开始设计报表(注意在报表的设计过程不要将表格与每个带区之间留有间隙,因为报表的每一个带区是拼接在一起的,如果有间隙就会对不齐,从而影响报表的美观,两边的边距也是同样道理,一定要对齐。)
每个报表只有一个【报表头】,在报表头可以放置报表的标题,以及一些具体的文字信息。
在报表设计界面的空白处右击,可以看到【插入详细的报表】,绑定你接下来所做报表的数据来源的那个表。
然后我们需要将报表的表头信息放置在插入带区中的报表头。将报表里面的详细信息放置在详细内容里面,并且将每个需要显示的信息绑定到所对应的字段,如果报表中有需要最后合计显示的信息,就在所绑定的那个报表里面右击选择插入带区中的【报表尾】。然后合计的字段可以在SQL里面写好,直接绑定到字段,也可以在报表里面实现计算。
比如说,现在只要合计显示出来金额,那我们就可以在报表尾那一栏里将将字段绑定到金额然后在报表的右上角有一个箭头,点击拓展开来,可以看到单元格任务里面,有一个【汇总】,汇总后面有一个省略号按钮点击进去,里面有一个汇总函数,可以实现各种计算,我们所计算的信息是从报表中计算的,所以在正执行的汇总函数中选择报表,然后在打印预览的时候就可以看到在运用报表所实现的计算结果了。
如果需要在报表里面显示公司的地址或者联系方式之类的,就把这些信息放在bottomMarginBand1 下边距中,或者当报表页数多于一页的时候,需要显示页面信息,也是放在bottomMarginBand1 下边距中显示。
f)在报表设计界面预览后,信息正确后,点击保存按钮后退出报表设计器页面,然后在报表中心管理上点击保存按钮,保存之后在点击同步到DB按钮,将报表同步。
g)然后将报表设置关联到要显示报表的那个form[49278]上,在【FormConfig98项】中,设置【关联报表ID】,直接写入报表的ID,然后回写。
操作如图:
然后同步到CIP上,我们在那个form[49278]上,点击预览及可以看得到我们在报表设计器中设计的报表。预览效果如下图。
整个的报表设计就完成了。
|