Alv grid/OO ALV中有两个事件(Event):data_changed和ata_changed_finished.
第一个事件在可编辑字段的数据发生变化时触发,可用来检查数据的输入正确性,第二个事件是当数据修改完成后触发
如果数据没有被修改,当失去焦点(比如输入结束后,光标移动到下一个需要输入的单元格中)或回车时,那么它不会走data change,而是直接触发data change finish事件
可以通过CL_GUI_ALV_GRID类的REGISTER_EDIT_EVENT方法来设置在失去焦点或回车时,触发数据改变事件:
2 按回车触发: i_event_id = cl_gui_alv_grid=>mc_event_enter
2 单元格失去焦点: i_event_id = cl_gui_alv_grid=>mc_event_modifies
必须设置一种方式,要不然数据变化事件不会被触发事件
然后注册CL_GUI_ALV_GRID的data_changed、data_changed_finished事件,实现事件处理器方法,在数据发生改变时就会触发这两上事件
以上。
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/19289.html