UsageGrideReport++
Posted Marydon
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了UsageGrideReport++相关的知识,希望对你有一定的参考价值。
迁移时间:2017年5月20日11:42:02
CreateTime--2016年9月29日15:46:15
Author:Marydon
版本Gride Report++6.0
使用说明:
参考链接:http://www.tudou.com/programs/view/m4t7M_T8Apo/
1.右侧下面窗口-->报表主对象-->设计-->点击报表信息-->填写:标题、作者、简介;
2.右键-->新增-->报表节点-->明细网格(报表的数据实体部分)(连接数据库并获取数据库数据);
3.点击选中右上角的“记录集”选项-->点击右下角的“查询SQL选项”-->点右侧的"..."按钮-->点击“创建数据库连接串”按钮-->
选择 Microsoft Jet4.0 OLE DB Provider -->下一步-->请选择或输入数据库名称-->点右侧的"..."按钮-->找到Grid Reoport++的安装目录-->Samples/Data/Northwind.mdb选择该文件-->勾选上空白密码和允许保存密码-->测试连接-->测试连接成功-->确定-->在数据库查询SQL(或XML数据URL)输入要查询的sql语句:select * from products-->测试-->测试通过-->确定
[或选择Oracle数据库-->下一步-->输入数据库连接地址-->输入用户名和密码-->选中允许保存密码(必须选中)-->点击“测试连接”按钮-->测试成功-->点击确定按钮-->在数据库查询SQL(或XML数据URL)输入要查询的sql语句(注意sql语句结尾不能加“;”号)-->点击测试-->数据库连接串与查询sql测试通过-->点击确定-->]
方式二:
明细网格右侧-->点击数据库连接串与查询SQL-->与上面一致
4.选中记录集-->右键-->自动生成字段-->自动生成列(或将记录集下面的字段拖拽到左侧,即可生成该列)-->点击窗口底部“预览视图”进行查看-->返回普通视图-->
a.选中某一单元格,按delete键即可将当前列删除;
b.可以拖拽单元格改变其宽度;
c.修改标题行单元格内容
双击单元格或右侧窗口栏-->数据选项,进行修改
d.添加行号
右键-->列集合-->增加-->将Column1改为行号;
将标题行的Column1名称改为行号;
选中该列所在的内容行-->右侧:行为-->自由格-->改为是;
插入系统变量框-->右侧:数据-->系统变量-->将页号改为行号;
点击当前列标题行所在的上一栏-->进行拖拽-->将其拖拽至第一列;
预览视图查看效果
e.求乘积列
新增列(同上)-->将自由格改为是;
插入综合文字框-->右侧:数据-->文本-->点击...按钮-->表达式-->插入域-->选择字段:UnitPrice-->点击
*键-->插入域-->选择字段:UnitsInStock-->确定-->进行效果预览
或者:直接插入综合文字框:输入~[#UnitPrice*UnitsInStock#]即可
f.每一页都显示标题行
选中标题行-->右侧:行为-->重复打印方式-->选择新页
g.新增分组
右键-->新增-->分组(分组头和分组尾)(分组尾经常用作本页内容小计)
分组头
使每个页面都能显示分组头
选中分组头-->右侧:行为-->选择每页重复打印:是
使第一页不显示分组头,其他页显示
可见性:否;每页重复打印:是
分组尾
每页都显示分组尾
选中右上角窗口:Group1-->行为-->按页分组-->是
计算金额总和:(由于金额列是由价格列和数量列的乘积而产生的,不能直接进行求和)
插入综合文本框-->点击三次或右侧的...按钮-->
第一步:插入域-->引用类型:选择统计函数选项-->统计函数:选择Sum(合计)-->统计字段(先随便选一个)-->确定
第二步:选择表达式-->将sum()括号里面的内容删除-->插入域-->字段-->分别选择UnitPrice和UnitsInStock列
第三步:数字格式串-->勾选大写汉字金额-->确定
或者直接输入[#Sum(UnitPrice*UnitsInStock):$$#]即可
h.页脚
右键-->新增-->报表节-->页脚
拷贝分组尾中的综合文本框及内容:[#Sum(UnitPrice*UnitsInStock):$$#]
页尾求和:求的是总和
i.页眉
右键-->新增-->报表节-->页眉
插入静态文本框:输入~郑州新益华科技有限公司产品报表
j.页面设置
右键页面设置-->可以对页面大小进行控制
k.设置每页显示的行数
选中内容行-->右侧行为-->每页行数
l.打印标签
右键-->新增-->报表节-->明细网格;
右键-->列集合-->增加-->设置宽度为8;
改为自由格;
选中明细网格-->右侧:打印分栏-->点开-->将页栏数改为2;
选中标题行-->重复打印方式:新页栏
UpdateTime--2016年10月28日15:47:20
报表设计要求:
1.字体:宋体 小五 -->设计报表前,先修改字体大小为小五
2.按需设置报表页面 标题栏-->报表-->页面设置-->页面大小:A4,方向选择:横向、纵向
3.合计一行的位置确定(判断合计行是否在数据展示行的首行)
a.如果展示的数据只有一行,则将该合计行放到内容行进行展示
将“合计”二字放在第一个字段;
将该单元格先改成自由格-->插入综合文字框-->输入“合计”-->停靠项-->选择“铺满”-->设置对齐方式-->中中
b.如果展示的数据合计行下还有其他行,则将该合计行放到标题行进行展示
4.内容行:文本-->对齐方式:左中
数字-->对齐方式:右中
行号-->插入系统变量-->行号-->铺满-->中中
5.列
高度:0.8;
6.设置文字自动绕行的两种情况(双击即可将“否”改为“是”)
a.当列中内容的长度超过列的宽度时;
b.内容行的字段(因为其从数据库查出的数据的长度不确定,为了避免展示不全情况的发生)
7.记录集(或者选择字段集合)
所有的字段放在右侧的记录集里面
a.这里可以修改数据类型及格式(字符串、整数、浮点数、日期时间,这几个常用)
可以自定义设置格式
字符串-->没有格式;
整数 -->设置格式为0;
浮点数-->设置格式为0.00,通常保留两位小数;(金额也设置数据类型为浮点数)
设置格式为0.00%,百分比
日期时间-->自定义设置格式
b.其数据字段名应与数据源字段的名称保持一致
UpdateTime--2016年12月9日10:16:10
插入字段时,使用方法二:
选中内容行-->右键-->字段集合-->进行批量添加字段(可以减少操作次数,加快报表绘制速度)
8.按住Ctrl键选择多个单元格,统一设置样式:高度、文字对齐方式、文字自动绕行、字体大小
9.分组头和分组尾
a.设置分组头的高度为0,可见性为否;
b.对齐(可以对齐两列)
选择对齐列:Column2,对齐列扩展:Column3
显示边框:选择边框模式-->选择画左,画右
c.分组尾,可以插入统计框
选择数据字段,选择要统计的字段
10.报表尾也可以显示边框
11.标题行
可以设置列标题布局
UpdateTime--2016年11月7日11:55:53
12.插入系统当前时间
UpdateTime--2017年1月3日16:34:18
方法一:
插入系统变量框-->右侧-->系统变量-->选择“当前日期时间”-->展示样式为:2016/11/7 11:48:40
对系统日期进行格式化
格式-->选择一个样式即可(也可以自定义显示格式)
例:[#SystemVar(CurrentDateTime):yyyy-MM-dd#]
方法二:
插入综合文字框-->插入域-->引用类型:选择系统变量-->系统变量选择“当前日期时间”选项-->点击确定即可
输入的文本为:[#SystemVar(CurrentDateTime)#]
展示样式为:2016/11/7 11:48:40
对系统日期进行格式化
光标移至[#SystemVar(CurrentDateTime)和#]之间-->表达式-->日期格式串-->选择一个样式即可(也可以自定义显示格式)
14.插入页数
方法一:
a.插入系统变量框-->右侧-->系统变量-->选择“页号”-->格式:“第0页”;
b.插入系统变量框-->右侧-->系统变量-->选择“页数”-->格式:“共0页”
方法二:
1.插入综合文字框-->插入域-->引用类型:选择系统变量-->页号PageNumber
输入文本为:第[#SystemVar(PageNumber)#]页
2.插入综合文字框-->插入域-->引用类型:选择系统变量-->页数PageCount
输入文本为:共[#SystemVar(PageCount)#]页
显示结果是:第1页/共1页
UpdateTime--2016年12月9日10:07:31
15.批量设置字段数据类型及格式
选中内容行-->右键-->字段集合-->Ctrl或Shift键批量选中要设置同一数据格式的字段-->右侧类型:选择"浮点数"-->格式:元(0.00)、万元(0.000000)
以上是关于UsageGrideReport++的主要内容,如果未能解决你的问题,请参考以下文章
report源码分析——report_handle和report_server和report_catcher
error_reporting() 和 ini_set('error_reporting') 的区别?
report_delay_calculation/check_timing/report_annotated_parasitics/report_analysis_coverge