Progress - Necesito Ayuda con Browse

   
Vista:

Necesito Ayuda con Browse

Publicado por Marietta (49 intervenciones) el 17/01/2011 13:50:54
Tengo un radio set (o pueden ser fill-in) y un solo browser que muestra la información desde una tabla temporal,y en base a lo que escoja el usuario en el radio set, se debe habilitar o deshabilitar una o varias columnas del browser, el usuario puede hacer la modificación en la celda del browser y luego puede volver a escoger otra opción en el radio set haciendo que se habilite/desabiliten las columnas correspodientes a esa opción. He podido habilitar/deshabilitar cuando seleccionan, pero solo la primera vez, después se me pierde y puedo entrar a cualquier celda del browser... alguien me puedes ayudar?... gracias.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Necesito Ayuda con Browse

Publicado por DparteD (129 intervenciones) el 21/01/2011 20:08:35
No se si es esto lo que necesitas:

BROWSER CON 3 COLUMNAS.

1.- en las DEFINITIONS del BROWSER declara una variable de tipo INTEGER.

DEFINE RADIO AS INTEGR NO-UNDO.

2.- Usando un RADIO-SET:
En el TRIGGER VALUE-CHANGED escribe:

radio = INT(radio-set-1:SCREEN-VALUE IN frame {&FRAME-NAME}).
RUN columnas .


3.- define en el BROWSER un PROCEDURE p.e (COLUMNAS).

PROCEDURE COLUMNAS.

IF radio = 1 THEN do:
rowObject.CAMPO1:READ-ONLY IN BROWSE {&BROWSE-NAME} = FALSE.
rowObject.CAMPO2:READ-ONLY IN BROWSE {&BROWSE-NAME} = TRUE.
rowObject.CAMPO3:READ-ONLY IN BROWSE {&BROWSE-NAME} = TRUE.
END.

IF radio = 2 THEN do:
rowObject.CAMPO1:READ-ONLY IN BROWSE {&BROWSE-NAME} = TRUE.
rowObject.CAMPO2:READ-ONLY IN BROWSE {&BROWSE-NAME} = FALSE.
rowObject.CAMPO3:READ-ONLY IN BROWSE {&BROWSE-NAME} = TRUE.
END.

IF radio = 3 THEN do:
rowObject.CAMPO1:READ-ONLY IN BROWSE {&BROWSE-NAME} = TRUE.
rowObject.CAMPO2:READ-ONLY IN BROWSE {&BROWSE-NAME} = TRUE.
rowObject.CAMPO3:READ-ONLY IN BROWSE {&BROWSE-NAME} = FALSE.
END.
/*** posiciona siempre en la row 1 tras selecionar colunna ***/
br_table:SELECT-ROW (1) IN FRAME f-main .

END PROCEDURE.

4.- CREA UN PROCEDURE "OVERRRIDE" del procedure (initializeObject)
para inicializar a 1 la variable radio, antes del RUN SUPER.

/*------------------------------------------------------------------------------
Purpose: Super Override
Parameters:
Notes:
------------------------------------------------------------------------------*/
/* Code placed here will execute PRIOR to standard behavior. */
RADIO = 1.
RUN SUPER.
/* Code placed here will execute AFTER standard behavior. */
END PROCEDURE.

Suerte.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar