what problems do you have with checking out? regards,
martin On 7/13/05, Rolf Kulemann (JIRA) <[email protected]> wrote: > [ > http://issues.apache.org/jira/browse/MYFACES-228?page=comments#action_12315721 > ] > > Rolf Kulemann commented on MYFACES-228: > --------------------------------------- > > I have tested a nightly JSF build (20051207 dowloaded from > http://svn.apache.org/builds/myfaces/nightly/). The problem is the same with > the sortHeader example as soon as you surround the dataTable with a h:form > tag, > Any ideas? > > BTW: I have problems to check out jsf from svn. I followed the instructions > on http://myfaces.apache.org/community/versioning.html. That is why I tried > the nightly. > > > 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 > > Attachments: datascroller.diff, fixed_sortheader.diff > > > > 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 > >
