My previous answer works, and judging from upvotes it was useful for other, but I've found much simpler way, that doesn't require to re-create the store:
grid.model.clearCache();
grid.model.store.setData(items)
grid.body.refresh()
The key operations is clearing the cache, setting new items, and forcing the refresh of browser.
The confusing thing is, that GridX has 'store' property, but it is not the object that is used to present the data. The actual object is the store that is set on the model, so this is the object you need to modify.