1 Reply Latest reply on Jul 8, 2011 6:55 PM by vace117

    keepSaved attribute on the rich:dataTable




      My question pertains to the function of the keepSaved attribute in RichFaces 4.


      I think understand the purpose of the keepSaved attribute, as described here:  https://issues.jboss.org/browse/RFPL-745 and here: https://issues.jboss.org/browse/RF-8586 , but I think there might be a problem with the implementation.


      Or perhaps I misunderstand something, so please explain it to me.


      Consider a situation where we have a dataTable (called B) nested inside a column of another dataTable (called A). B has an input field with value attribute specified. Let's say we type something into the input field and submit. Here is what's going to happen:

      1. Row A:0:B:0 gets decoded and A:0:B:0:inputField=SavedState is saved on B.
      2. Row A:1:B:0 begins decoding (UIAdapter.preDecode()), checks for the keepSaved attribute, finds it to be false by default and wipes the saved state for row A:0:B:0. We thus lose the submitted value of A:0:B:0:inputField and it will never get set into the model.


      Why is this the default behavior? It seems to me that keepSaved attribute should be true by default. Or am I missing something?


      Can you recommend an easy way of making sure that keepSaved is true for all of the dataTables in the app, w/o having to go and add the attribute explicitly to hundreds of dataTables? (i'm migrating an existing app from RF3.3.3, where this was not a problem).


      Thanks a lot,