Please excuse us for the late replay.
There are couple of things which causes the observed lag when you reorder items:
- remove call - removing an item from its old position will cause repaint/rebind of the widget, i.e dataBound will be executed
- insert call - this will also repaint/rebind of the widget
- widget initialization in every row - some time will take on each remote and insert call to create and populate the widgets
You will need the remove+insert calls in order to reorder items in the DataSource. Otherwise the items will only appear reorderd, but in the DataSource they will stay in their original positions. You can perform some optimizations by creating the widgets in each row only once by implementing some conditional logic.
I've updated the example with sample implementation - http://dojo.telerik.com/@rusev/EWaro
You can comment the enable(), suspend() function calls and see the difference.
Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI