#1
|
|||
|
|||
ALV con objetos
Buenas tardes, el problema que tengo es que al modificar un campo y cambiar a otro no me dispara el evento changed.
alguien me podria decir como hacer para forzar a que se dispare el metodo. gracias. |
#2
|
|||
|
|||
El metodo CHECK_CHANGED_DATA del ALV hace que se vuelva a llamar los eventos change
saludos, Mike |
#3
|
|||
|
|||
y en que momento lo deberia llamar?
Para ver si puedo ser un poco mas claro
modifico un valor y sin que pase por el field changed quiero duplicar esa linea. primero pasa por el data changed y caudno quiere duplicar la linea no encuetra cual es la fila que quiereo duplicar. es como si no se refrescara la informacion. ahora si primero cambio la info y desues intento duplicar la linea esto funciona correctamente. Úlima edición por diego1975 fecha: 23/09/08 a las 20:00:23. |
#4
|
||||
|
||||
CL_GUI_ALV_GRID - Tiene todo!
amigo, si modificas una linea va a disparar el evento data changed, no hay nada que puedas hacer.. ahora puedes decidir en que momento se dispara este evento:
*-- Muestro el ALV call method grid->set_table_for_first_display exporting i_save = 'A' is_variant = gs_repid is_layout = gs_layout it_toolbar_excluding = lt_exclude changing it_fieldcatalog = gt_fieldcat it_outtab = tb[]. *---Hay 2 opciones. CUANDO SE PRESIONA ENTER *--- Registro el evento ENTER, para que verifique consistencia de datos *-- cuando se presione enter call method grid->register_edit_event exporting i_event_id = cl_gui_alv_grid=>mc_evt_enter. *-- O CUANDO SE MODIFICA UNA CELDA *--- Registro el evento ENTER, para que verifique consistencia de datos *-- cuando se modifique una celda call method grid->register_edit_event exporting i_event_id = cl_gui_alv_grid=>mc_evt_modified. *---> Ahi podrias hacer llamado al metodo: call method ir_data_changed->modify_cell exporting i_row_id = ls_mod_cells-row_id i_fieldname = 'CODACTVT' i_value = l_codactvt. Y se actualiza el ALV... ahora para modificar la tabla interna tienes que hacerlo manualmente y si quieres q el alv tome los cambios tendras que llamar al metodo REFRESH_TABLE_DISPLAY
__________________
Atte. Marcos Carrasco... |
Herramientas | Buscar en Tema |
Desplegado | |
|
|