Hi,
I tried to subscribe
to the ADF Faces users list (as suggested on the wiki) but it didn't appear
to work - I hope it's still okay to post ADF Faces/Trinidad stuff here. My
Problem is that I'm using nested <af:table>'s each one with a detailStamp
facet containing the next. This works fine at one and two levels deep, but
when I three levels deep the page stops automatically updating at the end of the
request parsing. The wierd thing is that the very
first 3rd level facet does work correctly, but the others don't. With the
others, expanding a second level table row will suddenly display the missing
expanded 3rd level table
My code simply
supplies a model, I'm not using any fancy event handling or
anything.
However, there is maybe a clue as to what is going on:
21-Jul-2006 11:14:17
org.apache.myfaces.adfinternal.io.DebugResponseWriter
_logDuplicateId
WARNING: The id "_id23" is used more than once.
WARNING: The id "_id23" is used more than once.
although it does actually seem to be in
the output html (it's used once as an id and multiple times as <td
header="_id23"...>). I tried upgrading from ea19 to the latest snapshot
of Trinidad (and that was fun, I can tell you) but that didn't make a
difference. To try to ensure my code was not responsible, I changed all my
models to just return statically generated lists, but that didn't fix it
either.
I've included the page source below.
Any ideas? My suspicion is that the table component is not allocating id's
properly in a nested context. Of course it's probably more likely I've
made a stupid mistake somewhere...
Thanks in advance,
Jim
--
Jim Moores, Developer, SmartSpread Ltd,
UK.
<f:view>
<af:document>
<af:form>
<af:panelPage>
<f:verbatim>
<style>td {vertical-align: top;}</style>
</f:verbatim>
<af:table id="portfoliosTable" value="#{myBean.unitsDataModel}" var="unit" emptyText="No Portfolios">
<f:facet name="detailStamp">
<af:table id="dateTable" value="#{myBean.displayDatesForCurrentUnitDataModel}" var="date" emptyText="No Dates">
<f:facet name="detailStamp">
<af:table id="innerProperties" value="#{myBean.propertiesForCurrentDateDataModel}" var="decoration" emptyText="No Decorations" >
<af:column>
<f:facet name="header">
<af:outputText value="Name"/>
</f:facet>
<af:outputText value="#{myBean.nameForCurrentProperty}"/>
</af:column>
<af:column>
<f:facet name="header">
<af:outputText value="Type"/>
</f:facet>
<af:outputText value="#{portfoliosBean.typeForCurrentProperty}"/>
</af:column>
<af:column>
<f:facet name="header">
<af:outputText value="Value"/>
</f:facet>
<af:outputText value="#{portfoliosBean.valueForCurrentProperty}"/>
</af:column>
</af:table>
</f:facet>
<af:column>
<f:facet name="header">
<af:outputText value="Date"/>
</f:facet>
<af:outputText value="#{date}"/>
</af:column>
</af:table>
</f:facet>
<af:column>
<f:facet name="header">
<af:outputText value="Unit Name"/>
</f:facet>
<af:outputText value="#{unit.name}"/>
</af:column>
<af:column>
<f:facet name="header">
<af:outputText value="Unit Display Name"/>
</f:facet>
<af:outputText value="#{unit.displayName}"/>
</af:column>
</af:table>
</af:panelPage>
</af:form>
</af:document>
</f:view>
<af:document>
<af:form>
<af:panelPage>
<f:verbatim>
<style>td {vertical-align: top;}</style>
</f:verbatim>
<af:table id="portfoliosTable" value="#{myBean.unitsDataModel}" var="unit" emptyText="No Portfolios">
<f:facet name="detailStamp">
<af:table id="dateTable" value="#{myBean.displayDatesForCurrentUnitDataModel}" var="date" emptyText="No Dates">
<f:facet name="detailStamp">
<af:table id="innerProperties" value="#{myBean.propertiesForCurrentDateDataModel}" var="decoration" emptyText="No Decorations" >
<af:column>
<f:facet name="header">
<af:outputText value="Name"/>
</f:facet>
<af:outputText value="#{myBean.nameForCurrentProperty}"/>
</af:column>
<af:column>
<f:facet name="header">
<af:outputText value="Type"/>
</f:facet>
<af:outputText value="#{portfoliosBean.typeForCurrentProperty}"/>
</af:column>
<af:column>
<f:facet name="header">
<af:outputText value="Value"/>
</f:facet>
<af:outputText value="#{portfoliosBean.valueForCurrentProperty}"/>
</af:column>
</af:table>
</f:facet>
<af:column>
<f:facet name="header">
<af:outputText value="Date"/>
</f:facet>
<af:outputText value="#{date}"/>
</af:column>
</af:table>
</f:facet>
<af:column>
<f:facet name="header">
<af:outputText value="Unit Name"/>
</f:facet>
<af:outputText value="#{unit.name}"/>
</af:column>
<af:column>
<f:facet name="header">
<af:outputText value="Unit Display Name"/>
</f:facet>
<af:outputText value="#{unit.displayName}"/>
</af:column>
</af:table>
</af:panelPage>
</af:form>
</af:document>
</f:view>

