反馈已提交

网络繁忙

当前为10.0版本文档,只有最新版本的文档支持在线编辑修改,如果想创建/编辑文档,请移步至 最新版帮助文档

控件事件

  • 文档创建者:lu123
  • 历史版本:26
  • 最近更新:RosieY 于 2021-08-13
  • 1. 概述

    根据控件响应时间的不同,我们把控件的事件分为九种:初始化后、编辑前、编辑后、编辑结束、点击、状态改变、值改变、上传后及节点生成。

    2. 控件事件类型明细

    控件\事件 

    初始

    化后 

      编辑前
     编辑后

    编辑

    结束 

    点击 

    状态

    改变

    值改变 
     上传后

    节点

    生成

    事件

    名称

     afterinit beforeedit afteredit stopedit click statechange valuechange callback nodeadd
    文本
      √
      √  √  √         
    标签
      √
            √    √   
    按钮
      √        √       
    下拉框
      √  √  √  √  √       
    下拉复选框
      √  √  √  √  √       
    日期
      √    √  √         
    数字
      √  √  √  √         
    下拉树
      √  √  √  √  √       √
    单选按钮组
      √          √     
    复选框组
      √          √     
    文本域
      √ √ √ √     
    密码
      √ √ √ √     
    复选框
     √     √   
    视图树
     √    √    √

    列表

     √    √    

    文件

     √       √ 

    注:填报页面下没有标签控件。

    3. 触发机制

    FineReport 控件只允许在填报和决策报表(包括参数界面)中使用,所以控件分为填报控件和决策报表控件,由于填报和决策报表的区别,控件事件的触发时间有所区别,下面分别介绍:

    • 初始化后:决策报表的初始化事件是在控件加载结束后触发,填报页面中除了复选框控件、单选按钮组控件、复选框组控件和视图树控件是在控件加载结束时触发初始化事件之外,其他控件均是在填报时,点击控件的编辑按钮时(单击单元格时)触发;初始化事件示例请查看 批量删除

    • 编辑前:控件进入编辑状态时触发。

    • 编辑后:控件编辑后触发,如果编辑后事件中使用了 alert 提示,请改用 toast 提示,否则会影响中文的输入;编辑后事件示例请查看 动态显示参数控件

    • 编辑结束:焦点离开控件时触发;编辑结束事件示例请查看:JS获取填报单元格值或给单元格赋值

    点击:下拉框、下拉复选框、下拉树这三个控件的点击事件是在点击下拉项的时候触发,其他控件是在点击控件的时候触发;点击事件示例请查看 批量删除

    状态改变:状态改变事件是指控件的值发生改变时触发,该事件只能适用于复选框、单选按钮组和复选框组中。状态改变事件示例请查看 点击单选按钮弹出对话框输入值

    注:填报中,单元格控件设置了编辑结束事件,鼠标焦点点进控件,不做任何改动,再点出控件,这时不会触发编辑结束事件,但是在参数面板中的决策报表控件却会触发编辑结束事件,如果想要在填报单元格控件的编辑结束事件实现与决策报表控件一样的效果,不作任何改动,点出控件时,也触发编辑结束事件,只需要为该控件添加一个初始化事件:

     注:内置的提交无法在编辑结束后事件中使用,因为内置提交事件会触发编辑结束后事件,编辑结束后事件会触发提交事件,造成死循环;

    contentPane.setFireStopEditOnChange(false);

    4. 兼容性

    4.1 视图树

    7.0.5 版本中删除了视图树的编辑前、编辑后、编辑结束事件,原来用户如果设置了编辑后事件,会自动转为点击事件。

    4.2 文件控件

    7.0.5 版本中删除了文件控件的编辑前、编辑后、编辑结束事件,如果用户设置了编辑后和编辑结束事件,会自动转为上传后事件。

    5. 控件事件中 JS 脚本的使用方法

    为某个控件事件添加 JS 脚本,那么怎么通过 JS 脚本引用控件,如何使用控件呢?控件都有什么方法可用呢?详细请参照 引用控件及控件方法列表

    附件列表


    主题: 二次开发
    已经是第一篇
    已经是最后一篇
    • 有帮助
    • 没帮助
    • 只是浏览

    售前咨询电话

    400-811-8890转1

    在线技术支持

    请前往「服务平台」,选择「在线支持」

    热线电话:400-811-8890转2

    总裁办24H投诉

    热线电话:173-1278-1526