Consultor Eletrônico



Kbase P125328: Running InitPages can hide a smartSelect
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   08/04/2011
Status: Unverified

SYMPTOM(s):

InitPages can hide a smartSelect

A smartSelect that is on a page not initially viewed, is hidden if the page is initialized with initPages.

A smartSelect on a hidden page has the hideOnInit property set to TRUE if it is not on the first page in a smartWindow that is displayed. This prevents the smartSelect being displayed in initPages is used to initialize the page objects.

FACT(s) (Environment):

Windows
OpenEdge 10.1B

CHANGE:

Upgrade from 10.1A, where the problem does not exist.

CAUSE:

Bug# OE00155687

FIX:

To work around the problem either:

1. If possible, remove the call to initPages.
2. From within the viewer get the handle of the smartSelect and run ViewObject. For example in the viewer InitializeObject override:

DEFINE VARIABLE cfields AS CHARACTER NO-UNDO.
DEFINE VARIABLE i AS INTEGER NO-UNDO.
DEFINE VARIABLE h_object AS HANDLE NO-UNDO.
DEFINE VARIABLE h_sselect AS HANDLE NO-UNDO.
DEFINE VARIABLE lhide AS LOGICAL NO-UNDO.

/* Code placed here will execute PRIOR to standard behavior. */
RUN SUPER.
/* Code placed here will execute AFTER standard behavior. */

{get allFieldHandles cFields}.

/* get handle of smartSelect */
DO i = 1 TO NUM-ENTRIES(cFields):
h_object = WIDGET-HANDLE(Entry(i,cFields)).
IF h_object:NAME = "adm2/dynselect.w":U THEN
DO:
h_sselect = h_object.
LEAVE.
END.
END.

IF VALID-HANDLE(h_sselect) THEN
DO:
/* If set to hide, then view the smartSelect */
{get HideOnInit lhide h_sselect}.
IF lhide THEN
DO:
RUN viewObject IN h_sselect.
END.
END.