|
#1
|
|||
|
|||
Consulta
Buen día... Mi consulta sería si tengo en un radio button 3 opciones y dependiente de esta que me cambie la misma pantalla como sería el código?
Gracias por la colaboración brindada |
#2
|
|||
|
|||
¿Lo que necesitas, es que dentro de la misma pantalla, según lo que se seleccione en los radio aparezcan o desaparezcan otros controles?
Si es así, necesitarías por ejemplo, tener un botón, que aunque no haga nada, hará que se vuelva a cargar el PBO y ahí ya puedes comprobar el valor del radio y trabajar con el loop at screen. |
#3
|
|||
|
|||
Hola pues viendo tu consulta lo que puedes hacer es esto:
SELECTION-SCREEN: BEGIN OF BLOCK bq1 WITH FRAME TITLE text-010. PARAMETERS: p_rbtn1 RADIOBUTTON GROUP rg1 DEFAULT 'X' USER-COMMAND r, p_rbtn2 RADIOBUTTON GROUP rg1. SELECTION-SCREEN: END OF BLOCK bq1. SELECTION-SCREEN: BEGIN OF BLOCK bq2 WITH FRAME TITLE text-020. *"Aqui al campo que mostraremos o ocultaremos le colocas un valor al MODIF ID para poder identifcar cuando le hagamos un loop a la pantalla. PARAMETERS: p_field TYPE ' ' MODIF ID PA1. SELECTION-SCREEN: END OF BLOCK bq2. AT SELECTION-SCREEN OUTPUT. *"Luego antes de mostrar la pantalla veremos que radio button esta activo. IF p_rbtn1 EQ 'X'. LOOP AT SCREEN. * "Luego recoremos la pantalla para buscar que el campo que necesitamos que se muestre. IF screen-group1 EQ 'PA1'. * "Son necesarios estos datos para que el objeto se active. screen-invisible = '0'. screen-active = '1'. ENDIF. MODIFY SCREEN. ENDLOOP. ENDIF. IF p_rbtn2 EQ 'X'. LOOP AT SCREEN. IF screen-group1 EQ 'PA1'. * "Y estos hacen que se desactive y que no se muestre. screen-invisible = '1'. screen-active = '0'. ENDIF. MODIFY SCREEN. ENDLOOP. ENDIF. Y el MODIFY SCREEN es muy importante ya que sin el no se veran reflejados los cambios. Espero haberte ayudado |
Herramientas | Buscar en Tema |
Desplegado | |
|
|