FineReport使用小记(不断更新中…………)

1. 单元格相关设置

1.1. 单元格值样式

1. 百分比样式
选中单元格,单元格属性——>文本——>格式——>百分比
下面可以选择保留几位小数,图中为保留两位
可选是否要执行四舍五入
在这里插入图片描述

1.2. 单元格处的控件

1.2.1. 下拉填报控件

下拉框填报完成之后显示为实际值

  1. 问题描述
    在进行填报时,使用下拉框控件根据显示值进行填报,控件失去焦点后,下拉框中显示的不再是显示值而是实际值。

  2. 示例
    以内置数据库FRDemo中的产品和订单明细两张表为例,为大家介绍该问题。
    2.1. 模板制作
    表头设计如下图,其中单价是根据产品ID进行自动匹配的。
    在这里插入图片描述
    2.2. 填报预览
    填报选择产品时显示的为显示值。
    在这里插入图片描述
    选择完成之后,控件失去焦点,控件文本显示的是实际值。
    在这里插入图片描述

  3. 解决方案
    在设计表头的时候,设置产品所在单元格的形态,设置实际值为产品ID,显示值为产品名称。
    3.1 设置过程
    点击设计器的左侧单元格属性栏,选择单元格属性表—形态,在形态的数据字典中进行设置,实际值为产品ID,显示值为产品名称。
    在这里插入图片描述
    3.2 填报预览
    填报预览之后,下拉框失去焦点之后,下拉框中显示的还是显示值,而非实际值.

在这里插入图片描述
本节内容完全参考:下拉框填报完成之后显示为实际值

1.3. 单元格内容换行显示

  1. 描述
    FineReport报表单元格显示内容的时候,无法直接换行显示,那么如果想要单元格在web端展示数据的时候换行显示该如何实现呢?
  2. 解决思路
    FineReport提供了\n操作符来实现单元格内容的换行显示。
  3. 示例
    3.1 换行显示
    新建一张模板,直接在单元格中输入FineReport\n帆软软件,然后保存模板,点击分页预览,在web端就可以看到其换行显示了,如下图:
    在这里插入图片描述

如果数据来源于数据集,并且需要换行显示,那么数据集中的数据里面需要存储换行符\n,如下图:
在这里插入图片描述

3.2 直接显示换行符\n
FineReport在web端展示报表的时候会默认将单元格中的所有\n全部解析为换行,那么如果我不想将对单元格的内容进行换行,而是想将\n作为字符串显示在wbe端,又该如何操作呢?
3.3 数据来源于直接输入
如果在单元格直接输入数据的时候,想将\n作为字符串显示出来,而不是换行的含义,只需要在前面加上3个反斜杠即可,即\\n,如下图:
在这里插入图片描述

3.4 数据来源数据集
可以在数据列>高级中设置单元格的自定义显示值,将数据集中的\n替换为\\\\n,公式为replace($$$,“\n”,“\\\\n”),如下图:
在这里插入图片描述
本节内容完全参考:单元格内容换行显示

2. 报表块设置

2.1. 给报表块加单位

以添加单位“月”为例
双击需要添加单位的单元格,高级——>自定i现实:$$$+“月”
在这里插入图片描述

2.2. 报表自增序号

首先选中需要操作的单元格,在单元格属性除,插入元素中选择插入公式。
在这里插入图片描述
插入公式如下图所示:
在这里插入图片描述
在单元格除选择单元格属性,然后选择其他,在插入行策略时选择原值
在这里插入图片描述
参考: FineReport报表自增序号

3. Web显示界面设置

3.1. 更改浏览器显示的报表标题

选择菜单栏「模板>模板Web属性>基本>标题」,标题编辑栏写入一个参数,如自命题,点击确定,如下图所示:
在这里插入图片描述
在这里插入图片描述
点击确认之后,浏览的时候就可看到
参考: 历史版本22 :更改浏览器显示的报表标题

4. 基本功能

4.1. 填报功能

4.1.1. 填报后更新数据库对应字段的数据

填报功能可以将页面数据写入到数据库,包括数据的增加、删除和修改操作。同时也支持对填写数据的自定义校验,excel 导入数据,根据填写值智能联动等功能

菜单栏选择「模板>报表填报属性」,打开「报表填报属性」设置对话框。
在这里插入图片描述
在对话框中选择「提交」,点击➕,选择「内置SQL」的数据提交方法。选择提交类型为「智能提交」,选择进行操作的数据库和表 。
在这里插入图片描述
选择「智能添加字段」确定可以进行填报的字段,然后选择「智能添加单元格」功能将单元格与数据库表中的数据列绑定起来,勾选「产品ID」为「主键」,详细添加方式可参考:内置SQL提交。勾选「 未修改不更新」,点击「确定」,即完成报表填报属性的设置。

参考: 填报功能入门示例

4.1.2. 复选按钮控件自动勾选

填报时,检测到当前行有修改时,当前行的复选按钮控件自动勾选。
先选中可以修改的内容所在的单元格,
点击控件——>事件——>编辑后

在这里插入图片描述

在里面写入下面代码:

var cell=this.options.location;
var cr=FR.cellStr2ColumnRow(cell);
_g().setCellValue(1,cr.row,true);

在这里插入图片描述

上述代码含义:

第一行 var cell=this.options.location;:从当前对象的options属性中获取location属性的值,并将其赋给变量cell。这里假设this.options.location存储了单元格的位置信息。
第二行 var cr=FR.cellStr2ColumnRow(cell);:调用函数FR.cellStr2ColumnRow(cell),并将返回的结果赋给变量cr。这里猜测FR.cellStr2ColumnRow函数可能是将单元格位置字符串转换为对应的列和行的函数。
第三行 _g().setCellValue(1,cr.row,true);:调用函数_g().setCellValue(1, cr.row, true),传入参数1、cr.row和true。这里猜测_g()函数可能是用来获取全局对象的函数,setCellValue()函数可能是用来设置某个单元格的值的函数。

4.1.3. 填报完成后提交时的提示

填报完成之后,需要点击提交
在点击提交之后,进行一个提示确认
点击模板——>模板Web属性——>填报页面设置——>事件设置——>填报前
在这里插入图片描述
在这里插入图片描述
输入如下所示:
在这里插入图片描述

4.1.4. 填报新增复选按钮控件

填报新增时,复选按钮控件也新增,且所有属性和之前一样
先选中可以修改的内容所在的单元格,
点击控件——>事件——>初始化后
在这里插入图片描述
在里面填入以下代码:

if (!window.lineboxes) {    
    window.lineboxes = [];        //控件加入到一个全局数组里  
}
lineboxes[lineboxes.length] = this; 

如下图所示:
在这里插入图片描述

上述代码含义:

如果当前页面中不存在名为lineboxes的全局变量,则创建一个空数组lineboxes。然后将当前对象(this)添加到lineboxes数组的末尾位置。通过这种方式,将当前对象添加到全局数组lineboxes中,方便后续对这些对象的管理和操作。

5. 数据分析–图表

5.1. 柱状图

5.1.1. 在柱子上方显示数字

双击选中需要修改的chart,选中样式——>标签——>使用标签即可
还可以通过设置,更改数据标签所在的位置
在这里插入图片描述

5.1.2. 更改柱形图的柱子颜色

双击选中需要修改的chart,选中样式——>系列
修改里面的配色方案即可
在这里插入图片描述
结果如下图所示:
在这里插入图片描述

在这里插入图片描述

  • 4
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值