Return-Path: Delivered-To: apmail-myfaces-dev-archive@www.apache.org Received: (qmail 85348 invoked from network); 3 May 2005 23:07:52 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (209.237.227.199) by minotaur.apache.org with SMTP; 3 May 2005 23:07:52 -0000 Received: (qmail 20203 invoked by uid 500); 3 May 2005 23:09:03 -0000 Delivered-To: apmail-myfaces-dev-archive@myfaces.apache.org Received: (qmail 20179 invoked by uid 500); 3 May 2005 23:09:03 -0000 Mailing-List: contact dev-help@myfaces.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: "MyFaces Development" Delivered-To: mailing list dev@myfaces.apache.org Received: (qmail 20137 invoked by uid 99); 3 May 2005 23:09:02 -0000 X-ASF-Spam-Status: No, hits=0.0 required=10.0 tests= X-Spam-Check-By: apache.org Received: from ajax-1.apache.org (HELO ajax.apache.org) (192.87.106.226) by apache.org (qpsmtpd/0.28) with ESMTP; Tue, 03 May 2005 16:09:02 -0700 Received: from ajax.apache.org (ajax.apache.org [127.0.0.1]) by ajax.apache.org (Postfix) with ESMTP id 29DB0311 for ; Wed, 4 May 2005 00:35:15 +0200 (CEST) Message-ID: <200208303.1115159715030.JavaMail.jira@ajax.apache.org> Date: Wed, 4 May 2005 00:35:15 +0200 (CEST) From: "sean schofield (JIRA)" To: dev@myfaces.apache.org Subject: [jira] Updated: (MYFACES-228) Sortheader functionality does not work if datatable contains editable components In-Reply-To: <331451864.1115142367353.JavaMail.jira@ajax.apache.org> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Virus-Checked: Checked X-Spam-Rating: minotaur.apache.org 1.6.2 0/1000/N [ http://issues.apache.org/jira/browse/MYFACES-228?page=all ] sean schofield updated MYFACES-228: ----------------------------------- Priority: Critical (was: Major) > 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 > 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