Column OnChange event (Client API reference)
OnChange event occurs in the following situations:
- Data in a form column has changed and focus is lost. There is an exception to this behavior that applies to Yes/No columns that are formatted to use radio buttons or check boxes. In these cases the event occurs immediately.
- Data changes on the server are retrieved to update a column when the form is refreshed, such as after a record is saved.
- The attribute.fireOnchange method is used.
All columns support the
OnChange event. Data in the column is validated before and after the
OnChange event does not occur if the column is changed programmatically using the attribute.setValue method. If you want event handlers for the
OnChange event to run after you set the value you must use the
formContext.data.entity attribute.fireOnchange method in your code. The
OnChange event also does not occur if the column is changed programatically when discarding changes if the user is navigating away from a dirty form.
Although the Status column supports the
OnChange event, the column is read-only on the form so the event cannot occur through user interaction. Another script could cause this event to occur by using the fireOnchange method on the column.
OnChange events are synchronous. You should not use asynchronous code in an
OnChange event handler that needs an action to be taken or handled on the resolution of the async code. This causes issues if the resolution handler expects the app context to remain the same as it was when the asynchronous code was started. You should also not make synchronous network requests in an OnChange event handler. This can cause an unresponsive app.
Methods supported for this event
There are three methods you can use to work with the
OnChange event for a column: