ItemChanged event
Description
Occurs when a field
in a DataWindow control has been modified and loses focus (for example,
the user presses Enter, the Tab key, or an arrow key or clicks the
mouse on another field within the DataWindow). It occurs before
the change is applied to the item. ItemChanged can also occur when
the AcceptText or Update method
is called for a DataWindow control or DataStore object.
PowerBuilder event information
Event ID: pbm_dwnitemchange
Argument |
Description |
---|---|
row |
Long by value. The number of the row |
dwo |
DWObject by value. A reference to the |
data |
String by value. The new data the user |
Web DataWindow client control event information
Event name: ItemChanged
Argument |
Description |
---|---|
row |
Number. The number of the row containing |
columnName |
String. The name of the column containing |
newValue |
String. The new data the user has specified |
Web ActiveX event information
Event name: beforeItemChange
Argument |
Description |
---|---|
Row |
Number. The number of the row containing |
Name |
String. The name of the column containing |
Data |
String. The new data the user has specified |
Return Values
Set the return code to affect the outcome of the event:
-
0 (Default) Accept
the data value -
1 Reject the data value and do not allow
focus to change -
2 Reject the data value but allow the focus
to change
For information on setting the return code in a particular
environment, see “About return values for
DataWindow events”.
Usage
The ItemChanged event does not occur when the DataWindow control
itself loses focus. If the user clicks on an Update or Close button,
you will need to write a script that calls AcceptText to
see if a changed value should be accepted before the button’s
action occurs. For information on the right way to do this, see AcceptText.
Information formerly provided by the GetText method
is available in the data argument.
Instead of calling SetActionCode, use a RETURN statement
with a return code.
Examples
This example uses the ItemChanged event to provide
additional validation; if the column is emp_name, it checks
that only letters were entered in the column:
1 |
IF Dwo.name = "Emp_name" THEN |
1 |
IF NOT Match(Data, "^[A-za-z]$") THEN |
1 |
RETURN 2 |
1 |
END IF |
1 |
END IF |