Hi, if UIXComponent.processFlattenedChildren() is to be used, I cannot do this, because it seems to complecated at the first look; I would have to get into that, which would take me to much time.
I tried another solution, but I'm not sure, whether this is correct, because it ommits calling component.encodeBegin(), component.encodeEnd() etc. for the FlattenedComponent (which normally super.encodeChild() does). This solution looks like that (just adding the following to RowLayoutRendered.encodeChild(FacesContext, UIComponent)): else if (child instanceof FlattenedComponent) { encodeAllChildren(context, child); } Maybe someone of the developers can do this fix/improvement/enhancement, because I think having the possibility to use UIXGroup inside HtmlRowLayout without getting the ugly "illegal HTML"-message would be a nice feature. Regard, Marco Matt Cooper-2 wrote: > > I also forgot tr:switcher--tr:swicher, tr:group, and tr:terator implement > FlattenedComponent which is what would be accommodated by such a change. > > http://myfaces.apache.org/trinidad/trinidad-1_2/trinidad-api/apidocs/org/apache/myfaces/trinidad/component/FlattenedComponent.html > > Regards, > Matt > > > On Fri, Mar 6, 2009 at 8:34 AM, Matt Cooper <mcoo...@apache.org> wrote: > >> Hi Marco, >> >> Actually I think RowLayoutRenderer just needs to perform the >> UIXComponent.processFlattenedChildren() just like is done in >> PanelFormLayoutRenderer to supports component flattening. This would >> give >> you that effect that you desire but also will flatten a tr:iterator >> wrappers. >> >> Regards, >> Matt >> >> >> On Fri, Feb 20, 2009 at 4:20 AM, Marco Grimm < >> marco.gr...@rz-service-mannheim.de> wrote: >> >>> Hi, >>> >>> it would be nice/helpful if RowLayoutRenderer would overwrite >>> "encodeAllChildren(...)" in that way, that for UIXGroup it should not >>> pass >>> the UIXGroup itself to "encodeChild(...)", but the children of the >>> UIXGroup. >>> This would have the result, that one could put several columns into one >>> UIXGroup and set them all to rendered = false by just setting the group >>> to >>> rendered = false. This is not possible at the moment, because the >>> overwrite >>> of "encodeChild(...)" in RowLayoutRenderer renders "td" for all >>> components >>> ecxept HtmlCellFormat, which leeds to "INVALID HTML:" if you put columns >>> into a UIXGroup inside HtmlRowLayout. >>> Please tell me if you would except this change if I would submit such a >>> patch. >>> >>> Best regards >>> Marco Grimm >>> >>> >> > > -- View this message in context: http://www.nabble.com/-Trinidad--UIXGroup-inside-HtmlRowLayout-is-leading-to-%22INVALID-HTML%22-if-it-contains-HtmlCellFormat%28s%29-tp22119660p22413302.html Sent from the MyFaces - Users mailing list archive at Nabble.com.