OnWriteConflict Event


Fires when a write conflict occurs.


This event can be used to override the default write conflict error message with a custom message. The event handler should return the HTML text you want to display for the write conflict message. If the event handler returns a blank value, then the default write conflict message will be displayed.

The following variables are available to you in the event:


A property array with an entry for each field that had a write conflict:


The name of the field with the write conflict


The value for this field that is currently stored in the table


The value in the field when the user began to edit the record


The grid component definition


Run-time calculations (allows you to pass data to other event handlers)


State information


The following example shows how you can use the data in the e.arr array:

dim i as n
dim count as n
count  = e.arr.size()
dim fieldsWithErrors as c
for i = 1 to count
    fieldsWithErrors = fieldsWithErrors + e.arr[i].field_name + "<br />" + crlf()
next i
OnWriteConflict = "<b>A write conflict occurred.</b> The following fields have conflicts:<br />" + fieldsWithErrors

Setting State Variables

You can also set state variables in this event. The value of any state variables will be available in all subsequent ajax callbacks (in the e.__si2 object).

To set a state variable:

e._state.myvar1 = "value1"
e._state.myvar2 = "value2"


Customize the on Write Conflict Message

The Grid Component uses "Optimistic record locking" to prevent one user from overwriting another user's edits when two users edit the same record at the same time. The OnWriteConflict event handler allows you to customize the Write Conflict error message.