历史版本2 :组件事件管理 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

报表服务器版本JAR 包App 版本
10.02020-09-041.0


1.2 应用场景

1)目前FR的自定义事件共有四种,参考FineReport的事件

  • 控件/组件事件:是指在控件/组件里面添加的事件。控件包括参数控件,报表控件或其对应条件属性中的控件,控件介绍请参考 控件类型;组件包括决策报表块、聚合报表块等,请参考决策报表组件

  • Web 页面事件:是指在模板>模板 Web 属性>分页预览设置/填报页面设置/数据分析设置中添加的事件,请参考模板 Web 属性

  • 按钮自定义事件:是指报表工具栏上添加自定义按钮时,在按钮上添加的事件,请参考自定义按钮

  • 填报提交事件:是指在模板>报表填报属性中添加的事件,请参考报表填报属性

模板中其他三种事件,都有统一的入口进行查看和管理。控件/组件事件则散落在不同的控件/组件中,当控件/组件较多时,查找、修改已有的事件操作较繁琐。

2)此功能应用于控件/组件事件较多、或需要统一排查修改事件的模板,为报表开发/维护者提供一个方便的事件管理入口。

3)控件、组件以下统称为”组件“。


1.3 功能适用范围

  • 支持的报表类型:普通报表、聚合报表、决策报表。

  • 支持的报表范围:当前模板。

  • 支持的组件类型:单元格控件、单元格条件属性-控件、para组件和参数控件、body组件、绝对画布块、tab块、报表块、图表块。

  • 支持的组件范围:当前模板中具有事件设置的上述组件。

  • 支持的事件类型:事件相应方式中所有设置项。包括js/提交/邮件等。

2. 基本操作编辑

设计器中,模板>workbook下,进入组件事件管理器,其中会列出当前模板中具有事件设置的组件,选中列表中的组件后,可以在右侧管理器中进行事件的管理。事件管理与事件响应方式的操作相同。

注:在参数界面处于编辑状态时,模板菜单下面不会显示组件事件管理器。

不同的报表类型,管理器的界面不同。下面区分报表类型来进行讲解。

3. 普通/聚合报表示例编辑

3.1 管理界面说明

1)报表控件/参数控件选择器:可以选择查看报表控件事件,或参数控件事件。

2)sheet选择器:可以选择查看某个sheet的报表控件事件。如果sheet太多,显示不下,可以点击右侧的箭头组,切换显示的sheet。

3)具有事件的组件列表:

  • 展示了当前sheet中具有事件的组件列表,默认全部展开。点击某个组件后,在右侧进行事件管理。

  • 如果选中目录层级,则右侧不会显示事件管理界面,提示“该对象未设置过事件”。

  • 点击列表旁边的小三角可以折叠或展开列表区域。

  • 若组件名称太长,则可拖动组件列表下方的滚动条展示,或鼠标移到组件名称上显示tooltip。

4)事件管理界面:可以进行事件的增删改,具体操作其他相关文档有介绍,不做赘述。

5)事件相应方式设置:可以进行事件相应方式/具体内容的编辑,具体操作其他相关文档有介绍,不做赘述。

6)点击组件事件管理器右上角的关闭符号,即可自动保存并关闭管理窗口。


3.2 单元格控件

sheet1,单元格B1按钮控件,设置了如下的点击JS事件:

打开组件事件管理器,选择报表控件>sheet1,可以看到B1出现在组件列表内,前方的图标提示是为单元格按钮控件。

在右侧将js内容修改为“test”,关闭管理器。

再次查看B1按钮控件的事件,发现内容已经修改。

注:当正在右侧面板设置当前控件的事件时,打开事件管理器,修改刚才正在编辑的事件;关闭管理器后,右侧面板不会自动刷新。需要点击别处后再次返回,才能更新。

1.gif


3.3 单元格条件属性-控件

sheet1,单元格B1添加条件属性,条件属性名称修改为TestCondWidget。添加条件属性>控件>文本控件,设置了如下的JS事件:

打开组件事件管理器,选择报表控件>sheet1,可以看到B1(TestCondWidget)出现在组件列表内,括号中为条件属性名,前方的图标提示是为文本控件。


3.4 聚合报表块中的控件

聚合报表块中的单元格控件、单元格条件属性-控件,与上述两种类似。

这里我们新建一个聚合报表sheet,拖入一个聚合报表块,在A2单元格处添加条件属性,条件属性名称不做修改。添加条件属性>控件>数字控件,设置了如下的JS事件:

打开组件事件管理器,选择报表控件>sheet2,在Block1目录下,可以看到A2(条件属性1)出现在组件列表内,括号中为默认的条件属性名,前方的图标提示是为数字控件。


3.5 Para组件和参数控件

点击参数界面进入编辑,拖入文本控件和一个查询按钮。

对文本控件不做设置。查询按钮formSubmit0添加初始化后>发送邮件的事件。

点击para组件(参数界面),添加一个初始化后>提交入库的事件。

退出参数编辑界面,打开组件事件管理器,选择参数控件tab,可以看到做过事件设置的para组件、查询按钮formSubmit0出现在组件列表内,名称为组件名。文本控件因为没有设置事件,所以不在其中。

4. 决策报表示例编辑

4.1 管理界面说明

1)具有事件的组件列表:

  • 展示了当前决策报表中具有事件的组件列表,默认展开到para/body层级。点击某个组件后,在右侧进行事件管理。

  • 如果选中未设置过事件的目录层级,则右侧不会显示事件管理界面,提示“该组件未设置过事件”。

  • 点击列表旁边的小三角可以折叠或展开列表区域。

2)事件管理界面:可以进行事件的增删改,具体操作其他相关文档有介绍,不做赘述。

3)事件相应方式设置:可以进行事件相应方式/具体内容的编辑,具体操作其他相关文档有介绍,不做赘述。

4)点击组件事件管理器右上角的关闭符号,即可自动保存并关闭管理窗口。


4.2 组件事件示例

决策报表中,本身不支持单元格控件、单元格条件属性-控件、聚合报表块,也不需要区分sheet,所以组件事件相关设置较为简单。

例如,对决策报表参数面板下的下拉框控件comboBox0,设置初始化后事件

打开组件事件管理器,在para目录下,可以看到comboBox0出现在组件列表内,前方的图标提示是为下拉框控件。