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

    keepSaved attribute on the rich:dataTable

    Val Blant Newbie

      Hello.

       

      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,

       

       

      Val