No I must have missed that one.  Can you supply a new patch for just
UIData?  Martin updated UIData before I could apply your patch so it
doesn't work.

TIA,

sean

ps. Looking forward to closing out this bug.  4 votes, 6 watchers
(including me.)


On 7/7/05, Broekelmann, Mathias <[EMAIL PROTECTED]> wrote:
> Hi Sean,
> 
> Have you tried my latest patch for htmldatatable?
> It should work with a sortheader and immediate="false"
> 
> Mathias
> 
> > -----Original Message-----
> > From: sean schofield (JIRA) [mailto:[EMAIL PROTECTED]
> > Sent: Thursday, July 07, 2005 5:26 PM
> > To: [email protected]
> > Subject: [jira] Commented: (MYFACES-228) Sortheader
> > functionality does not work if datatable contains editable components
> >
> >
> >     [
> > http://issues.apache.org/jira/browse/MYFACES-228?page=comments
> > #action_12315247 ]
> >
> > sean schofield commented on MYFACES-228:
> > ----------------------------------------
> >
> > Latest patch has not improved things much as far as this
> > specific problem goes.  If you use immediate="false" in the
> > sort header you still have a problem.
> >
> > > Sortheader functionality does not work if datatable
> > contains editable components
> > >
> > --------------------------------------------------------------
> > ------------------
> > >
> > >          Key: MYFACES-228
> > >          URL: http://issues.apache.org/jira/browse/MYFACES-228
> > >      Project: MyFaces
> > >         Type: Bug
> > >     Versions: 1.0.9 beta
> > >  Environment: WindowsXP, JDK 1.4.1_06, Tomcat 5.5
> > >     Reporter: Rolf Kulemann
> > >     Assignee: sean schofield
> > >     Priority: Critical
> >
> > >
> > > I'm using a dataTable with sortheader. Everything is fine
> > as long as I
> > > use outputText instead of a inputText. If I use inputText, the
> > > List/array is sorted correct on the srever side when my
> > value binding is invkoked by the datatable, but the old model
> > (unsorted) is displayed.
> > > I debuged that a bit and recognized, that as soon as I
> > click any command button, the sorted list gets displayed
> > correctly. This is because refresh() is called in the
> > datatable when clicking a commandButton. Refresh isn't called
> > when u click on the sort header command. On the other hand
> > using outputText works fine. While looking at the
> > HtmlDataTableHack class i found
> > >  private static int
> > restoreDescendantComponentStates(UIComponent component,
> > >
> > EditableValueHolderState[] states,
> > >
> > EditableValueHolderState[] initialStates,
> > >                                                         int
> > counter, int level)
> > >     {
> > >         for (Iterator
> > it=getChildrenAndOptionalFacetsIterator(level, component);
> > it.hasNext();)
> > >         {
> > >             UIComponent child = (UIComponent)it.next();
> > >             //clear this descendant's clientId:
> > >             child.setId(child.getId()); //HACK: This
> > assumes that setId always clears the cached clientId. Can we be sure?
> > >             if (child instanceof EditableValueHolder)
> > >             {
> > >                 if (states != null)
> > >                 {
> > >
> > states[counter].restore((EditableValueHolder)child);
> > >                 }
> > >                 else if (initialStates != null)
> > >                 {
> > >
> > initialStates[counter].restore((EditableValueHolder)child);
> > >                 }
> > >                 else
> > >                 {
> > >                     // No state saved yet and no initial state !?
> > >                     // Should never be possible, but let's
> > reset the component
> > >                     // state to null values
> > >                     ((EditableValueHolder)child).setValue(null);
> > >
> > ((EditableValueHolder)child).setLocalValueSet(false);
> > >                     ((EditableValueHolder)child).setValid(true);
> > >
> > ((EditableValueHolder)child).setSubmittedValue(null);
> > >                 }
> > >                 counter++;
> > >             }
> > >             counter =
> > restoreDescendantComponentStates(child, states,
> > initialStates, counter,level+1);
> > >         }
> > >         return counter;
> > >     }
> > > Not sure, but it seems that this codes cuases the old model
> > state to be rendered and not the newly sorted one. If I have
> > time, I will track it down a bit more.
> > > You can simply reproduce this by changing the sortTable example. You
> > > only need to change outputText into inputText.
> >
> > --
> > This message is automatically generated by JIRA.
> > -
> > If you think it was sent incorrectly contact one of the
> > administrators:
> >    http://issues.apache.org/jira/secure/Administrators.jspa
> > -
> > For more information on JIRA, see:
> >    http://www.atlassian.com/software/jira
> >
> >
> 
> 
>

Reply via email to