I am sure somebody else can have a more elegant solution, but what I have done in the past is to either:
1. update the underlying database. If you do that then you refresh the grid after the data is updated and it should reflect the new data.
2. add a column to the grid that is a unbound column, then your code from before should update that column. This is what I have done normally, sometimes even hiding the databound column and only showing the new column I created.
If you create the grid ahead of time and use field names then you should be able to modify your select new part to use those names and it will populate it.
IE: make sure your grids fields are Id, Title, Code, StartDate and whatever unbound ones you want.