欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

DATA_CHANGED 与 DATA_CHANGED_FINISHED 强制触发

程序员文章站 2022-05-30 23:41:24
...

一、类CL_GUI_ALV_GRID中关于数据变化有两个事件

 DATA_CHANGED 与 DATA_CHANGED_FINISHED

DATA_CHANGED 与 DATA_CHANGED_FINISHED 强制触发

DATA_CHANGED 与 DATA_CHANGED_FINISHED 强制触发

DATA_CHANGED 在可编辑字段的数据发生变化时触发(焦点和回车),通常用来做数据的校验

DATA_CHANGED_FINISHED 在当数据修改完成后触发

如果数据没有被修改,当失去焦点或回车时,它不会走DATA_CHANGED ,而是直接触发DATA_CHANGED_FINISHED事件,

二、通常有些需求,经过user command事件或者点击保存按钮等操作时,需要检查数据的完整性或者写PROTOCOL

就要强制触发DATA_CHANGED ,方法

CALL METHOD GS_ALV->IF_CACHED_PROP~SET_PROP
        EXPORTING
          PROPNAME           = 'GridModified'
          PROPVALUE          = '1'
        EXCEPTIONS
          PROP_NOT_FOUND     = 1
          INVALID_NAME       = 2
          ERROR_SET_PROPERTY = 3
          OTHERS             = 4
              .
      IF SY-SUBRC <> 0.
*       Implement suitable error handling here
      ENDIF.

      CALL METHOD GS_ALV->CHECK_CHANGED_DATA
*        IMPORTING
*          E_VALID   =
*        CHANGING
*          C_REFRESH = 'X'
          .

 

相关标签: ABAP