Hmm... maybe I don't understand your use case, but it looks like you are working too hard. The pattern I use for grids is view one calls a function to compute the new dataset, then launches view two where I connect the dataset to the grid in the updateView function/callback. As in...
CODE
this.controls.grid.changeDataset(TVL4.db.episodes);
this effectively deletes all the old values and adds the new ones. (The actual pattern is more usually that view one calls a remote http JSON api to a database. The callback from the url.fetchAsync() then actually does the launching of view two.)
Hope that helps!