Saving rows of AsyncTable

So I have a AsyncTable, which has two columns, one is a select one dropdown list of values(which are provided by a web service), and next to it I have a column which has a basic text field and a remove row button. In the footer of this table I have an addRowButton. These make up search filters which is then passed to another webservice. This all works perfectly when a user adds filters and searches, however when I navigate to another page and back the table state is reset and the previous filters are gone. What I am trying to do is figure out a way to restore these filters(rows in the table). I have tried everything including saving and restoring state, saving and restoring viewRoot, but I cannot seem to come up with a plausible solution. Does anyone have any ideas on how to save the state of table rows and then restore them?

I am not worried about the values as I already have a session bean which persists through page navigation but I cannot for the life of me figure out how to persist the filters themselves. Any input is welcome!!

The rows would generally be driven by the data in your table content provider. So you would probably need to save/restore whatever content provider object you have bound to the table.

Thanks for the reply Eric! The content provider only supplies the data for the dropdown. Using the add/remove buttons I add new rows to the table each with the same dropdown(and values). I notice in the binding properties of the asyncTable there is a boolean variable templateRow. But there are no methods to add new rows to the table or to access that template row.

Also on the “add row” button, the description says “Adds a new template row to a table,” is there anyway to actually add a new template row from the source code?

What do you have bound to the ‘Value’ property of the table control? Generally that would be an expression that resolves to some table content provider object.

Then if you continue working back to the source, the data binding for that table content provider object would generally have some array or list object bound as the ‘Source List’ or ‘Source Array’ that contains the current row objects. When you add or remove a row in the table, the backing source list (or array) are changed to reflect that change.

So to preserve the rows, you need the ‘Source List’ or ‘Source Array’ object that is bound to your table content provider to be preserved somewhere when you navigate away and restored when you come back.

Does that make sense?

Oh boy, you were correct Eric I was concentrating on saving the state of the table itself instead of working with the content provider that is binded to the table, thanks!!