You could set the DataSource batch mode to true. That way all of your deleted records are sent in one request to the server. And then all of your added records are sent in a separate request to the server. Then on the server-side you would have to loop through each record to add/remove them from your data store. The benefit here is that the looping is done on the server, and since the requests are asynchronous, the client is not held up.