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
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.