Your observation is correct. The widget (the DataSource in particular) is designed to keep the newly created models/events when they are synced
. The models are considered synced
when they have a unique valid ID values
. In other cases, the events are consided temporary and will be removed when cancelChanges
is called. This is exactly what happens when "Cancel" button is clicked.
I would suggest you examine the Editing fundamentals help topic, which explains how the editing functionality is accomplished in Kendo UI widgets:
Basically, in this case you will need to update the Ids on create. Here is a simple Dojo demo that demonstrates one possible approach:
Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI