下表列出当前如意报表(Ming-WebReport)支持的Band类型,以及在最终报表中它们的位置。 注意:Band并不是按照在报表设计器中的物理位置的顺序出现,Band类型决定将它们在最终报表中的位置。然而,放置Band在恰当的位置会使它更易于修改。
名 称 报表标题 总结 页标头 页注脚 主项标头 主项数据 主项注脚 细项标头 细项数据 细项注脚 子细项标头 子细项数据 子细项注脚 浮动 栏目标头 栏目注脚 分组标头 分组注脚 打印在打印报表之初 打印在报表结束时 打印在每页顶部 打印在每页底部 打印在第一个数据层开始 第一层数据——重复每个主项数据记录 打印在第一个数据层结束 打印在第二个数据开始 第二层数据——重复每个细项数据记录 打印在第二个数据层结束 打印在第三层数据开始 第三层数据——重复每个子细项数据记录 打印在第三个数据层结束 打印在每页的最底层(可以用于打印水印) 打印在栏目开始 打印在栏目结束 组标题打印在分组开始 打印在分组后 何 时 何 地 交叉表头 交叉表数据 交叉表脚 子栏 这组Band用于创建交叉报表,因为目前我们已经推出了新的交叉报表控件,所以这几个Band不是很常用。 这个区域能被追加到其它任何类型的区域(交叉表和页脚除外)。子区域显示在父区域之后。 ① 依靠Band类型,如意报表(Ming-WebReport)提供了合适的编辑器: ? 对于从一个数据源显示数据的Band(主项数据,细项数据,子细项数据等等),双击Band你可
以指定Band从何获取数据。并且提供了所有数据集的列表和一个“虚拟数据集”:
你可以选择“虚拟”数据项。你必须指定包含在“数据数据集”的“记录”数。如果指定的记录实际存在,区域可以正常工作。虚拟数据集能帮你打印窗体,多条线需要被打印,但你不希望手工一个一个地插入。你可以简单地设计一个单线,然后使用虚拟数据集选择出现的次数。
? 分组标头:如果你选择分组标头带区类型,双击该分组标头。这个编辑器允许你定义分组条件,
基于数据表的字段或其它一些表达式(例如按姓名的第一个字母进行分组,同样也能用于电话目录等)。
? 子栏: 每个其它类型的Band都有一个属性是“ChildBand”用来指定子Band,补充显示当前
Band的内容,子栏Band就是用来充当“子Band”的Band,子栏可以与其父Band共享数据集。 ? 如果你在Band上右击,你将看到一组快捷菜单。包含:
? 伸展:这个意思是由Band中的对象高度决定区域高度。“Text”对象的“自动折行”选项激活
时将按需要伸展。这允许自动调节区域(行)高度以适应行中的所有数据。 ? ? ? ?
分隔:在换页位置允许 强迫换页:强迫 在第一页:这个 在末页:这个
Band的单行数据跨页分隔,打印到两个页面上。
Band内容打印在一个新页面。
Band将打印在第一页(仅适用于页头和页脚)。
Band将打印在末页(仅适用于页脚)。
? 在所有页重复:这个选项仅用于主项头、细项头、子细项头、分组头和交叉表头Band。如果
这 些头下面的数据强制到一个新页,这些头也将出现在那些页面中。
③ Band对象特有的可编程属性和方法列表:
注意:如意报表(Ming-WebReport)报表对象的控件对象有一些通用的属性和方法,请参阅脚本参考部分说明。
Band对象的属性:
属性 类型 描 述 Breaked ChildBand ColumnGap Columns ColumnWidth Condition DataSet DataSource EOF FormNewPage Master OnFirstPage OnLastPage PrintChildIfInvisible PrintIfSubsetEmpty RepeatHeader Boolean String Integer Integer Integer String String String Boolean Boolean String Boolean Boolean Boolean Boolean Boolean Band分隔开头。可选值:True; False。 Band来自其它band。 对象中水平栏间距。 Band中栏数。 栏宽。 指定分组条件。用于band的分组头。 用脚本动态设置数据Band的数据源,数据集名称加DS, 如:DataSetDS 确定对象用于显示的数据源。 判断是否已到数据集末尾。返回值:True; False。 在打印这个band和所有的细band时强制分页。 可选值:True; False。 指定band用于分组的数据。 打印第一页。可选值:True; False。 打印最后一页。可选值:True; False。 指定如果子band不可见时是否打印。可选值:True; False。 指定如果子band为空时是否打印。可选值:True; False。 指定是否在每页是重复这个band。可选值:True; False. 方法: 方法 First Next Prior 类型 - - - 描 述 Band依据的数据源移到第一条记录。 Band依据的数据源移到下一条记录。 Band依据的数据源移到上一条记录。 汇总框对象
汇总框”和“文本框Text” 对象大部分都相同,不同之处只是“汇总框”多了一个“CalcType”属性,轻松实现某Band的数据汇总功能,选中一个“汇总框”,从“对象查看器”中选择“CalcType”属性,进入如下窗口:
? ? ? ?
首先可以选择汇总类型:合计、平均、最小、最大、计数等,也可以选择 然后选择想要汇总的数据 选中
User自己手工设置;
Band;
Band之后需要设置汇总的条件,调用表达式编辑器实现.
打印后初始化选项用于两遍报表,如果合计结果数据要在数据列表未结束前显示需要设置两遍
报表,然后为了避免重复计算需要选中“打印后初始化选项”;统计不可见行设置是否统计隐含掉的对象。
? ?
如果开始选择了 “User”要自己设置汇总类型,则可以在下面设置统计的初始化值和计算值。 汇总框和
Text文本框的区别就是自动增加了汇总功能,所以在汇总框中无需手工写“Sum()”
函数。
例如:要实现对字段“SO.TOTAL_SALE”(SO为表名,TOTAL_SALE为字段名称)字段的汇总: 如果用Text文本框实现需要在报表的主项注脚Band上放置一个“Text对象”,文本编辑器写脚本: [Sum([SO.TOTAL_SALE],Band1)]
其中Band1为主项数据Band的名称。 如果用“汇总框”实现,在主项注脚Band上放置一个“汇总框”对象,编辑CalcType属性, 设置汇总类型为“合计”,选中Band1,然后设置该“汇总框”对象的Memo属性,在文本编辑器写脚本:[SO.TOTAL_SALE]
这两种设计方式的效果是一致的。特有的属性:
属性 CalcNoVisible CalcType CalcValue Filter DataBand DBCalcType Reset 描 述 Boolean 指定是否统计不可见的对象。 -- Float String integer integer -- 设置统计类型,和统计的字段。 用脚本得到汇总框的的计算结果 用脚本设置或读取汇总条件 指定数据源Band。 指定统计类型,被选项有rmdcSum, rmdcCount, rmdcAVG, rmdcMax, rmdcMin, rmdcUser。 方法,重置计算值。 类型 图片对象
图片对象用于插入图像到一个报表中。图像格式支持包括BMP、WMF、ICO、JPG和GIF。
图片对象编辑器用于选择一个图像,清除图像或从数据库的一个BLOB字段选择一个图像。需要从文件插入一个文件,双击图片对象。需要从BLOB字段手稿图像,选择图片对象,按Ctrl+Enter调用文本编辑器,然后在文本编辑器中调用BLOB字段名,例如:[TableName.GraphicField]。这个操作执行从文本编辑器中插入的数据字段选择图片。如果要直接打印一个数据库中的加密图像,使用OnBeforePrint事件在报表运行时解密图像并调用到运行时的报表中。如果要被打印的图像存贮在磁盘中,使用OnBeforePrint在打印之前调用图像。
① 图片对象的快捷菜单允许设置下列选项:
? 伸展:图像将伸展到整个矩形区。
? 锁定纵横比:如果缩放则图像的比例是受保护的。 ? 居中:图像在矩形区中居中。
? Blob类型:BLOB流类型:BMP, WMF, ICO or JPG。这是必需的。使用对象观察器设置这个属
性。
② 报表运行的时候可以通过指定的图片地址加载图片: 直接在图片对象的Memo属性中用如下格式指定图片地址: ? File:<图片文件物理路径> 可从服务器指定目录下加载图片,如: File:C:/SomeDir/logo.jpg
? URL:<图片文件URL> 可从指定URL加载图片,如: 完整的URL:URL:http://www.soft2web.com/images/logo.jpg 绝对虚拟路径:URL:/images/logo.jpg
图片对象的特有属性: 属性 BlobType Center DataField KeepAspect Transparent 类型 Integer Boolean String Boolean Boolean 描 述 指定Blob字段包含图像的类型。 可选值: btBMP, btJPG, btICO, btWMF。 指定图像是否在对象上居中。可选值: True; False。 指定包含图像的数据表字段。 指定当改变图像大小时是否保留比例关系。可选值:True; False。 是否透明。可选值:True; False。 子报表对象
子报表对象作为在一个报表中特定位置插入附加报表的占位符。Subreport中的报表打印必须在主报表中的单独页。一个使用Subreport的例子是插入一个图表在下方或紧跟着一些销售数据。
当插入一个Subreport对象到报表,一个附加页自动插入到主报表中。Subreport自动指向新插入的页面。附加到Subreport中的任何信息都将被显示在主报表中。
Subreport对象将被放在主报表下方。如果多个Subreport对象将要被放在各自下方,插入它们到单独的数据区域。
当使用Subreport时有一些限制: ? 不能使用分栏;
? 下列Band能用于Subreport(但不能关联到主报表):报表标题,报表合计,页头,页脚,栏
Band;
? 不能使用Band暂停; ? Subreport中不能使用分组。
线(Line)
直线对象用于插入水平线或垂直线到报表。当在报表中分隔细节区,使用直线可以更容易阅读。直线的粗细和颜色可以使用绘图工具栏调整。
要画一条线,单击直线工具栏按钮,在当前页面上拖动鼠标,光标将变成一支铅笔画出一根直线。单击鼠标的地方就是直线的起始端。按下并不松开鼠标,然后移动鼠标到直线的末端。松开鼠标后,直线就画好了。直线可以被选中并按需要修改。
中国式财务控制
中国式财务控制对象是用来格式化财务数据的,基本用法与Text框对象相似,但是它只能接受数值型的表达式。