I have a GridView and I populate it via a List . One of its columns is a DropDownList and AllowPaging is set to true. My problem is when I choose a value on the ddl and after a paging the selected value is lost. Is there any way/idea to persist the selected values?
Thanks for your help.
I have a GridView and I populate it via a List . One of
Share
You could use a Dictionary object within view state to save multiple values i.e.
where int is the row index and string is the ddl selected value. Of course this could be an int/guid or whatever depending on the actual value stored in the ddl or an int if you want to work with selectedIndex instead.
on the page event you would need to do
Don’t worry about the current page ddl values. These will be persisted with viewstate in the normal way. It is the ‘hidden’ pages that we are accounting for. Hence we are repopulating the dictionary when the grid pages.
The Dictionary could then be saved in session/viewState and used to rehydrate the dropdownlist by doing the process in reverse. For instance when the page loads (checking
!isPostBack) or when the grid rebinds depending on exactly how you have set things up