PDA

Ver la Versión Completa : REFRESH en ALV?


Eduesqueda
19/12/11, 21:13:04
Hola,

Espero su ayuda...

Tengo un ALV donde la última columa es un checkbox editable y por default aparece marcado. También ya funciona el evento "DATA_CHANGED" ya que el usuario puede o no seleccionar renglones en el ALV y se modifica al mismo tiempo el checkbox correspondiente de la tabla interna.

La pregunta es en que...Tengo que poner el boton: desmarcar renglones.

Al presionar este botón yo puedo recorrer la tabla interna y limpiar este checkbox..pero como trasfiero este cambio al ALV que ya estoy viendo en pantalla??

HICE ESTO:

WHEN '&DESM'. "Desmarcar
LOOP AT i_alv.
lv_tabix = sy-tabix.
i_alv-envio = SPACE. "Este es el checkbos editable y lo limpio
MODIFY i_alv INDEX lv_tabix.
ENDLOOP.
PERFORM f_salida_alv. "Llama a redesplegar otra vez el ALV
"CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

Y SI VEO QUE EN EL REPORTE ALV los checkboxes se limpian...pero al darle F3 me lleva al Reporte ALV primero que tenía y aquí los checkboxes están marcados.

Gracias espero y alguien me ayude...saludos.

Melandry
20/12/11, 07:28:16
Hola.
En el user_command poner los siguiente:
...
FORM user_command USING p_ucomm TYPE sy-ucomm
p_selfield TYPE slis_selfield.
WHEN '&DESM'.
....tu código correspondiente para marcar/desmarcar

"Y luego marcar estas opciones----------------------------
p_selfield-refresh = 'X'.
p_selfield-col_stable = 'X'.
p_selfield-row_stable = 'X'.
"---------------------------------------------------------
...
"Llamada para mostrar el ALV.

Espero te sirva.

Eduesqueda
28/12/11, 17:05:42
Ya quedó Melandri Excelente. Saludos. BYe.