Skip to content

这里的对象指的是在 报表设计器环境下,可以拖放和设置属性,最终影响到报表呈现的内容的报表组成元素,我们称之为 对象 。

第10章 对象概览

image.png

名称描述
Text包含多行文本的矩形框,文本允许包含变量
Band条状区域,定义区域包含的最终报表的位置
Picture显示BMP、ICO、WMF、EMF和JPG图像
SubReport创建子报表,插入时在报表中增加一个新页面
Line画垂直或水平线条
Shadowed text带阴影和渐变色填充的文本
Barcode用条形码显示数据
Shape插入几何图形(矩形、圆角矩形、椭圆、三角形)
CheckBox用检查框或X显示逻辑数据
RichText插入RTF文档
OLE插入OLE对象
Chart插入图表(需安装TeeChart)
RichText 2.0类似RichText,但允许图像和OLE对象插入RTF文本中

第11章 Text对象详解

这是ReportMachine中最强大、最灵活的对象。

11.1 快速掌握

“文本框”对象是报表机器中最强大、最灵活和使用最频繁的对象。它是一个包含多行文本的矩形框。你可以为它设置边框的类型、颜色和宽度;以及字体属性、文本对齐方式和字体方向(垂直或水平)。要设置对象的属性,使用“文本”和“边框”工具栏:

“文本框”对象的内容主要由:文本,变量,数据字段,或这些的任意组合组成。

修改“文本框”对象最快速的方法是在报表编辑设计器中选择“文本框”矩形(点击它)并双击,将出现文本编辑器对话框。

例如,我们在图-21的标题区域中再插入一个文本框,文本框内容是:发货单

11.2 专业学习

主要提供一个包含多行文本的矩形框,可设置边框的类型、颜色和宽度,以及字体属性、文本对齐方式和字体方向。

Text对象的内容可以包含:文本、变量、数据字段,或这些的任意组合。

使用示例:

  • 宽度,cm:[Length] —— 使用变量显示固定文本
  • 宽度,cm:[Table1."Length_cm"] —— 使用数据字段显示固定文本
  • 宽度,cm:[[Length inch]*2.54] —— 使用变量表达式

修改Text对象最快速的方法是在报表编辑设计器中选择矩形并双击,出现文本编辑器对话框。

编辑器工具栏按钮:

  • 插入表达式
  • 插入数据字段
  • 剪贴板操作
  • 自动换行选项
  • 脚本编辑选项
  • 取消按钮
  • 确认按钮

快捷键:

  • Insert —— “变量”按钮,显示变量对话框
  • Ctrl+Enter —— “确认”按钮
  • Esc —— “取消”按钮

DisplayFormat属性:在对象编辑器中点击Text对象的“DisplayFormat”属性可编辑格式。格式选项包括:无格式、数值、日期、时间或逻辑格式。

«#»标记格式化:

  • x.xNx.x —— 数值格式
  • Dxxxxx, Txxxxx —— 日期和时间格式
  • Bxxxxx;yyyyy —— 逻辑格式

示例:

image.png

条件加亮:点击格式工具栏的按钮,在编辑框中输入条件(如Value > 1000)。

Text对象右键菜单选项:

  • 伸展 —— 对象高度根据变量实际高度调整
  • 自动折行 —— 长字符串自动折为多行
  • 自动宽度 —— 画之前才计算实际宽度
  • 仅文本 —— 不处理对象中的变量
  • 禁止重复值 —— 不显示重复的值

附加属性:

  • CharSpacing —— 字符间距
  • GapX, GapY —— 左边和顶部间隔
  • LineSpacing —— 行间距

image.png

11.3 函数的使用方法

我们往往需要在 代码中对显示的内容进行各种处理,下面介绍函数的使用方法。

打开前面我们介绍的文本编辑器,点表达式,选择函数,将打开函数对话框,如下图所示

image.png

我们也以一个例子来说明怎样使用函数

我们希望将图-8所示的报表中金额总计小写转换为大写(使用 CurToBigNum函数)。

双击“金额总计大写”文本框,在打开的文本编辑框中选择“表达式”,在表达式编辑框中点函数,打开函数选择对话框,在这里请按图-9所示选择函数,选择函数后点“继续”,将弹出下图

image.png

按图提示操作完后,将弹出“输入参数”对话框,请点“数据类型”,为此函数选择统计数据即可

第12章 Band对象详解

ReportMachine是一个基于区域的报表生成器,在报表上放置区域,然后在区域放置数据。

注意:区域并不是按照报表设计器中的顺序出现,区域类型决定它们在最终报表中的位置。

Band类型列表:

你点击这个按钮,然后到页面区域放下,系统会提问 ,让我们选择Band类型

image.png

名称何时何地
报表标题打印在打印报表之初
报表合计打印在报表结束时
页头打印在每页顶部
页脚打印在每页底部
主项头打印在第一个数据层开始
主项数据第一层数据——重复每个主项数据记录
主项脚打印在第一个数据层结束
细项头打印在第二个数据开始
细项数据第二层数据——重复每个细项数据记录
细项脚打印在第二个数据层结束
子细项头打印在第三层数据开始
子细项数据第三层数据——重复每个子细项数据记录
子细项脚打印在第三个数据层结束
覆盖打印在每页的最底层(用于打印水印)
栏目头打印在栏目开始
栏目脚打印在栏目结束
分组头组标题打印在分组开始
分组脚打印在分组后
交叉表头/数据/脚用于创建交叉表,报表上可变栏目
子栏能追加到其它任何类型的区域(交叉表和页脚除外),显示在父区域之后

Band右键快捷菜单选项:

  • 伸展 —— 区域高度由区域中的对象高度决定
  • 分隔 —— 在页面未满之前报表新页面
  • 强迫换页 —— 强迫区域内容打印在新页面
  • 在第一页 —— 区域将打印在第一页(仅适用于页头和页脚)
  • 在末页 —— 区域将打印在末页(仅适用于页脚)
  • 在所有页重复 —— 用于主项头、细项头等,若数据强制到新页,这些头也出现在那些页面中

不同类型的Band 属性可设置项目,也会有所不同。

image.png

第13章 其它对象详解

13.1 Image对象

用于插入图像到报表。支持BMP/WMF/ICO,JPG和GIF也可插入。

快捷菜单选项:

  • 伸展 —— 图像伸展到整个矩形区
  • 锁定纵横比 —— 缩放时保护比例
  • 居中 —— 图像在矩形区中居中
  • Blob类型 —— BLOB流类型:BMP、WMF、ICO或JPG

13.2 SubReport对象

作为在一个报表中特定位置插入附加报表的占位符。Subreport中的报表打印必须在主报表中的单独页。

限制:

  • 不能使用分栏
  • 下列区域能用于Subreport:报表标题、报表合计、页头、页脚、栏XXX区域
  • 不能使用区域暂停
  • Subreport中不能使用分组

13.3 Line对象

用于插入水平线或垂直线到报表。

13.4 CheckBox对象

用于图形显示逻辑数据,只能联接到逻辑变量或数据字段。True显示叉,False为空。

注意:TRMCheckBoxObject组件必须插入到同一个窗体中。

13.5 RichText对象

用于打印RTF文档。当需要格式化文本而Text对象不能满足时使用。

变量可插入到格式化文本中,必须加上方括号。

注意:TRMRichObject对象必须放置到同一个窗体中。

13.6 OLE对象

用于插入OLE对象到报表中。

注意:TRMOLEObject对象必须放置到同一个窗体中。

13.7 Chart对象

用于在报表中插入图表,特别适用于销售图表。

图表编辑器类型页选项:

  • 3D —— 显示3维图表
  • 单线
  • 显示图例
  • 显示轴(不能用于饼图)
  • 显示标记
  • 多色显示

注意:TeeChart控件必须已安装。TRMChartObject控件必须放在窗体上。

13.8 Shape对象

用于插入几何图形(矩形、圆角矩形、椭圆、三角形)。

注意:TRMShapeObject控件必须放在窗体上。

13.9 Barcode对象

用于打印条形码。

支持的条形码格式:

  • 2 of 5 interleaved
  • Code39, Code39 Extended
  • Code128A-C
  • Code93, Code93 Extended
  • MSI, PostNet, Codebar
  • EAN8, EAN13, EAN128A-C
  • UPC A, E0, E1, Supp2, Supp5

提示:若条形码四周需要空白区,设置FrameTyp为15,FrameWidth为6.00,FrameColor为clWhite。

注意:TRMBarcodeObject控件必须放在窗体上。

13.10 RichText 2.0对象

基于RX Rich控件,允许在RTF文本中包含OLE对象和图像。

注意:TRMRxRichObject控件必须放在窗体上。

13.11 Page 对象

我们点击页面的时候,可以设置当前的页面对象属性。

image.png

其中一个特别有用的属性是 背景图 ,在我们需要套打的时候,我们可以对空白表达拍照,然后把图片设置为背景,之后预览效果OK了,再删除背景图片,从而实现套打模型。