The grid's selection are maintained by row id. If you don't implement getRowId on the data model, it by default uses the value in column 0. There another thread on this with an example, search for getRowId.