下面就通过web表格控件FineReport来简单介绍一下。
工具/原料
web表格控件FineReport7.1.1
大小:148.2M 适用平台:windows/linux
控件事件
1、概述根据控件响应时间的不同,我们把控件的事件分为八种:初始化后、编辑前、编辑后、编辑结束、点击、状态改变、值改变及上传后。
2、控件事件类型明细注:填报页面下没有标签控件。
3、触发机制FineReport控件只允许在填报和釉涑杵抑表单(包括参数界面)中使用,所以控件分为填报控件和表单控件,由于填报和表单的区别,控件事件的触发时间有所区别,下面一一介绍:初始化后:表单的初始化事件是在控件加载结束后触发,填报页面中除了复选框控件、单选按钮组控件、复选框组控件和视图树控件是在控件加载结束时触发初始化事件之外,其他控件均是在填报时,点击控件的编辑按钮时(双击单元格时)触发;初始化事件示例请查看批量删除。编辑前:控件进入编辑状态时触发;编辑后:控件编辑后触发,如果编辑后事件中使用了alert提示,请改用toast提示,否则会影响中文的输入;编辑后事件示例请查看动态显示参数控件。编辑结束:鼠标焦点离开控件时触发;编辑结束事件示例请查看给扩展单元格置数。点击:下拉框、下拉复选框、下拉树这三个控件的点击事件是在点击下拉项的时候触发,其他控件是在点击控件的时候触发;点击事件示例请查看批量删除状态改变:状态改变是指控件的值发生改变时触发,该事件只能适用于复选框、单选按钮组和复选框组中。状态改变事件示例请查看点击单选按钮弹出对话框输入值注:填报中,单元格控件设置了编辑结束事件,鼠标焦点点进控件,不做任何改动,再点出控件,这时不会触发编辑结束事件,但是在参数面板中的表单控件却会触发编辑结束事件,如果想要在填报单元格控件的编辑结束事情实现与表单控件一样的效果,不作任何改动,点出控件时,也出发编辑结束事件,只需要为该控件添加一个初始化事件:contentPane.setFireStopEditOnChange(false);
4、兼容性视图树7.0.5版本中删除了视图树的编辑前、编辑后、编辑结束事件,原来用户如果设置了编辑后事件,会自动转为点击事件。文件控件7.0.5版本中删除了文件控件的编辑前、编辑后、编辑结束事件,如果用户设置了编辑后和编辑结束事件,会自动转为上传后事件。
Web页面事件
1、概述Web页面事件在模板>模板web属性里面的分页预览设置,填报殳陌抻泥页面设置与数据分析设置几个标签页中均可滤鲇魍童设置,分别作用于不同的预览方式,下面以分页预览为例,进入分页预览设置标签,选择为该模板单独设置,点击事件设置下"+"的按钮,增加事件,如下图:
2、所有预览都包含的事件
3、填报预览独有的事件
4、注:如果一次提交是要先经过校验的,那么事件的触发顺序将是:校验提交前,校验后,填报前,校验提交后,填报后,填报成功/失败。
事件响应方式
1、概述当事件触发时,就会引起相应的响应,在FR的事件中已经介绍了各种事件对应的事件响应方式,下面一一介绍事件响应方式FR中提供了5种响应方式:Javascript脚本、提交入库、发送邮件、自定义提交和内置SQL。其中自定义提交和内置SQL在报表填报属性介绍过了,下面详细介绍另外三种响应方式的使用。
2、JavaScript脚本最常用的响应方式。当事件发生时,执行一系列js脚本,通常用于及时校验、动态赋值等与用户进行实时交互。注:JavaScript事件响应方式只适用于控件事件、web页面事件和按钮自定义事件。
3、提交入库顾名思义,提交入库就是类似于填报,对数据库数据进行增减改的操作,只是此时的提交入库操作是在对控件或者工具栏自定义按钮进行操作之后才执行的,如下图:控件和工具栏自定义按钮的提交入库事件髹瑕扔麝支持绑定多个提交入库规则,类似于填报属性中添加多个内置sql,保持事务的一致性。提交入库与报表填报属性差不多,只是多了一个设置回调函数的功能,回调函数的使用示例请查看控件回调函数返回值。注:提交入库适用于除填报提交事件以外的所有事件。
4、发送邮件一种提醒方式,如果触发了该事件,则发送邮件通知相应的负责人。注:编辑发送邮件事件响应之前必须在平台管理中配置好发件人,邮箱等等基本信息,否则会有如下提示,并且不可编辑:
5、管理平台配置邮件发送人请参照邮件及邮件通讯录,邮件选项中设置的是发件人,邮件通讯录中设置的是收件人,发件人邮箱必须配置,并且只能是一个邮箱,收件人邮箱可以不必配置,直接在事件响应方式里面写邮箱地址也可以。配置好邮件基本信息之后,点击发送邮件,如下图:
6、注:发送邮件只适用于控件事件和按钮自定义事件中。另:发送邮件可以使用模板中的参数和单元格来实现动态收件人和动态正文以及动态标题。