Consultor Eletrônico



Kbase P21957: fetchRowIdent causes the SmartDataBrowser to display empty rows when repositioning to a row near the
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   22/09/2005
Status: Verified

FACT(s) (Environment):

Progress 9.1D
Progress 9.1E
OpenEdge 10.0A
OpenEdge 10.0B

SYMPTOM(s):

SmartDataBrowser displays blank rows

SmartDataBrowser's viewport appears mostly empty

Using fetchRowIdent to reposition to a row that is within a few rows of the last row in the browser

CAUSE:

Bug# 20030326-016

CAUSE:

This is a known issue. The SmartDataBrowser is not filled to the bottom with a new batch because the row was found locally, therefore no call to fetchDataSet is done and thus no call to adjustReposition (browser.p) is ever made

FIX:

The bug related to this was fixed in OpenEdge 10.0B02. If it is not possible to upgrade to 10.0B02 or later for some reason, then place the following code into the adm2\custom\datacustom.i include file as a workaround for this:

FUNCTION fetchRowIdent RETURNS CHARACTER
( INPUT pcRowIdent AS CHARACTER,
INPUT pcViewColList AS CHARACTER) :
/*----------------------------------------------------------------------
Purpose: Super Override
Notes:
----------------------------------------------------------------------*/

/* Code placed here will execute PRIOR to standard behavior. */
DEFINE VARIABLE vcResult AS CHARACTER NO-UNDO.

vcResult = SUPER( INPUT pcRowIdent, INPUT pcViewColList ).
ASSIGN vcDataTargetHdls = DYNAMIC-FUNCTION('getDataTarget':U).
REPEAT viCounter = 1 TO NUM-ENTRIES(vcDataTargetHdls):
ASSIGN vhBrowserHdl = WIDGET-HANDLE(ENTRY(viCounter,vcDataTargetHdls)).
RUN adjustReposition IN vhBrowserHdl NO-ERROR.
END.
RETURN vcResult.
END FUNCTION.