When you make a request to your page, a new instance of your page class is created. It handles the request, sends the response to the user, and is then thrown away.
Any values you store in a field within your class will
not persist between requests.
You might be tempted to try to store the list in the session. But that will simply cause a memory leak in your application - controls are not meant to persist beyond a single request.
And using a
static
variable wouldn't work either. The single list would be shared by all requests from all users of your application. You'd have severe thread-safety issues. And you'd still have the memory leak.
You need to recreate the grids each time your page is loaded. You could potentially use
view-state[
^] to help, although this would dramatically increase the size of the rendered page and the request payload.