Kbase P67818: Dyn: problems to change a lookup from rowDisplay hook of SDV
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  08/03/2004 |
|
Status: Unverified
SYMPTOM(s):
In the rowDisplay hook for SDV, calling setDataValue for an SDF
SDF and linked fields are not updated
CAUSE:
adm2/viewer.p/displayFields calls the rowDisplay hook after managing the SDF's, so any update of the SDF value is ignored.
FIX:
Call assignNewValue instead of setDataValue.
If you do not want the SDV to go in modified state (such as when having a lookup on a local widget), then you should call assignNewValue with parameter plSetModified set to NO.
Note that assignNewValue will publish lookupComplete for the viewer. If you do not want lookupComplete to execute in this case, then you should do something like the following:
1) In your SDV rowDisplay:
call setUserProperty("ignoreLookupComplete","YES") in your SDV
call assignNewValue in your lookup with plSetModified set to NO
call setUserProperty("ignoreLookupComplete","") in your SDV
2) at the top of your SDV lookupComplete:
IF getUserProperty ("ignoreLookupComplete") = "YES" THEN RETURN.