for h:dataTable each change needs (or change request (or sorta)) needs
to go to the EG. t:dataTable is up to us.
Can you create a ticket for an improvement?
On 7/10/06, Andrew Robinson <[EMAIL PROTECTED]> wrote:
Good informtion. Thanks for tracking this down. The
updateActionListener would not have worked in my case as I have
multiple tables and they would each need to preserve the state if any
button in any list is clicked. But good to know.
It would be great with h:dataTable or at least t:dataTable to do as
you say by default, if validation is skipped, keep the row state for
rendering.
Thanks,
-Andrew
On 7/10/06, Mike Kienenberger <[EMAIL PROTECTED]> wrote:
> Just as an FYI, using preserveRowStates appears to work, but I don't
> know what other problems it might cause. Here's what I'm considered
> -- using updateActionListener and a variable to only set it when I
> need it.
>
> <t:dataTable
> value="#{testcase.list}"
> var="item"
>
preserveRowStates="#{testcase.preserveRowState}"
> >
>
> <h:column>
>
> <t:inputText
>
id="projectName"
>
value="#{testcase.value}"/>
>
> <h:commandButton
>
immediate="true"
> value="Immediate
Button - loses value">
>
<t:updateActionListener
>
property="#{testcase.preserveRowState}"
>
value="#{true}" />
> </h:commandButton>
> <h:commandButton
>
immediate="false"
> value="Non-Immediate
Button - preserves value">
>
<t:updateActionListener
>
property="#{testcase.preserveRowState}"
>
value="#{false}" />
> </h:commandButton>
>
> </h:column>
>
> </t:dataTable>
>
>
>
>
> On 7/8/06, Mike Kienenberger <[EMAIL PROTECTED]> wrote:
> > Andrew,
> >
> > I'm hitting the same problem. I spent half of Friday trying to track
> > it down, but I haven't solved it yet.
> >
> > So far, I've determined that it affects all UIData components
> > (h:dataTable, t:dataTable, and t:dataList).
> >
> > I've also figured out that it has something to do with incorrectly
> > restoring the row state for EditableValueHolders in the UIData during
> > renderResponse. The UIData should render the submitted values, but
> > those submitted values are wrong.
> >
> > During applyValues, the submitted values for the UIInputs are
> > correctly set and restored, but during renderResponse, the submitted
> > values for the UIInputs have mysteriously changed to null. I'm
> > still trying to figure out why the restored table state isn't the same
> > in all phases.
> >
> >
> > On 6/30/06, Andrew Robinson <[EMAIL PROTECTED]> wrote:
> > > I had thought I had my problem of phases with UIData figured out, but I am
> > > still having issues.
> > > I have a data table with input controls in it (inputText for example).
> > > Sometimes I lose data in these controls. Here are the use cases and the
> > > associated issue:
> > >
> > > If action immediate set to true, I lose all my data in the data tables
> > > If immediate is false my action never fires if a validation error occurs
> > > (this is not what I want in this use case, I want my action to ALWAYS
fire)
> > > If I change the phase ID of the action to the validations phase, and there
> > > are validation errors, everything works
> > > If I chagne the phase ID of the action to the validations phase and there
> > > are no validation errors, I lose my data in the table What I am trying to
> > > figure out is the difference between #3 and #4.
> > >
> > > So, I have changed my action to execute during the processing of
> > > validations. This allows me to run my code regardless of validation
errors.
> > > The side effect is if there are no validation errors, I still lose my
data.
> > >
> > > Why would all my submitted values re-render in the data table when there
are
> > > validation errors, but not when there are not (I am skipping update model,
> > > so in either case it never fires)?
> > >
> > > I can't see any difference in the code except that with validation errors
> > > there is at least one UI component marked as not being valid, but that
> > > doesn't seem like it should cause a behavior change with all components on
> > > the whole page. If it does how does that work (I couldn't see any such
> > > behavior in the code)?
> > >
> > > I really need to get this sorted out, so if someone could shed some light
on
> > > how UIData manages to have its child components render submitted values or
> > > not I'd really appreciate it.
> > >
> > > Thanks,
> > > Andrew
> > >
> > >
> >
>
--
Matthias Wessendorf
futher stuff:
blog: http://jroller.com/page/mwessendorf
mail: mwessendorf-at-gmail-dot-com