Kbase P92881: Changing a lookup with del or backspace or with mouse paste/cut/delete do not fire lookup.p/valueCha
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  12/01/2005 |
|
Status: Unverified
SYMPTOM(s):
Changing manually the SCREEN-VALUE of a lookup with delete or backspace key or with a mouse operation (paste/cut/delete)
lookup.p/valueChanged is not fired
toolbar remains in data not modified mode
A lookup relies on ANY-PRINTABLE instead of VALUE-CHANGED
CAUSE:
In adm2/lookup/initializeLookup, the trigger ANY-PRINTABLE is used to run the valueChanged event procedure. The fact that the content of a lookup FILL-IN has been changed manually is trapped in leaveLookup that fires on the 4GL LEAVE trigger.
As a consequence, the del or backspace key or a deletion with a mouse operation (paste/cut/delete) do not fire data modified, in which case a leave event (like tab out) has to be fired to make the viewer aware that the lookup has changed.
FIX:
Modify the code of adm2/lookup/initializeLookup to use the VALUE-CHANGED event (valid for FILL-IN's since Version 9) instead of ANY-PRINTABLE.
The VALUE-CHANGED event is equivalent to ANY-PRINTABLE + DELETE-CHARACTER + BACKSPACE + ChangeByMouseOperation, so this solution will cover the ANY-PRINTABLE as before, and the other cases (DELETE-CHARACTER + BACKSPACE + ChangeByMouseOperation) that should not introduce any regression.