Pessoal, o problema é o seguinte, tenho um datalist e + dois datatables aninhados.
São três níveis: projeto, lançamentos e movimentação.
Vejam o código:
<t:dataList style="width:100%;" value="#{fatCR.dados}" var="projeto">
<f:verbatim>
<p style="margin-top:15px;margin-bottom:-10px; font: bold 11px Arial, Helvetica, sans-serif; color: #333;text-transform: uppercase;" >
</f:verbatim>
<h:outputText value="Projeto: #{projeto.descricao}"/>
<f:verbatim></br></f:verbatim>
<h:outputText value="C.C: #{projeto.extenso} / "/><h:outputText value="#{projeto.apelido}"/>
<f:verbatim>
</p>
</f:verbatim>
<t:dataTable forceId="true" forceIdIndex="false" footerClass="footerClasse" varDetailToggler="detailToggler" rowClasses="naoalt,alt" headerClass="hd" columnClasses="size8, size8, size8, size8, size8,size12,size12, size12,size12, size8" style="margin-bottom:10px; margin-top:15px;" styleClass="tabela" value="#{projeto.faturas}" var="currentRow" >
<h:column>
<h:outputText value="#{currentRow.fatura}"/>
<f:facet name="header" >
<h:outputText id="outputText11" value="doc"/>
</f:facet>
<f:facet name="footer">
<h:outputText value=""/>
</f:facet>
</h:column>
<h:column>
<h:outputText value="#{currentRow.filial}"/>
<f:facet name="header">
<h:outputText value="FILIAL"/>
</f:facet>
<f:facet name="footer">
<h:outputText value=""/>
</f:facet>
</h:column>
<h:column>
<h:outputText value="#{currentRow.tipoDoc}"/>
<f:facet name="header">
<h:outputText value="TIPO"/>
</f:facet>
<f:facet name="footer">
<h:outputText value=""/>
</f:facet>
</h:column>
<h:column>
<h:outputText value=
"#{currentRow.emissao}"/>
<f:facet name="header">
<h:outputText style="text-align:right;width:100%;" value="EMISSÃO"/>
</f:facet>
<f:facet name="footer">
<h:outputText value=""/>
</f:facet>
</h:column>
<h:column>
<h:outputText value="#{currentRow.vencto}"/>
<f:facet name="header">
<h:outputText value="vencimento"/>
</f:facet>
<f:facet name="footer">
<h:outputText value="Sub-Total:"/>
</f:facet>
</h:column>
<h:column>
<h:outputText value="#{currentRow.fatBruto}"/>
<f:facet name="header">
<h:outputText styleClass="direita" value="valor BRUTO(R$)"/>
</f:facet>
<f:facet name="footer">
<h:outputText value="#{projeto.totalBruto}"/>
</f:facet>
</h:column>
<h:column>
<h:outputText value="#{currentRow.recebimento}"/>
<f:facet name="header">
<h:outputText styleClass="direita" value="RECEBIMENTO(R$)"/>
</f:facet>
<f:facet name="footer">
<h:outputText value="#{projeto.totalRecebido}"/>
</f:facet>
</h:column>
<h:column>
<h:outputText value="#{currentRow.retencao}"/>
<f:facet name="header">
<h:outputText styleClass="direita" value="deduções(R$)"/>
</f:facet>
<f:facet name="footer">
<h:outputText value=""/>
</f:facet>
</h:column>
<h:column>
<h:outputText value="#{currentRow.saldo}"/>
<f:facet name="header">
<h:outputText styleClass="direita" value="SALDO(R$)"/>
</f:facet>
<f:facet name="footer">
<h:outputText value="#{projeto.totalSaldo}"/>
</f:facet>
</h:column>
<h:column>
<a4j:commandLink id="ocultar" rendered="#{detailToggler.currentDetailExpanded}"
action="#{detailToggler.toggleDetail}" reRender="saida">
<h:outputText value="Ocultar Movimento" />
<a4j:ajaxListener
type="org.ajax4jsf.ajax.ForceRender" />
</a4j:commandLink>
<a4j:commandLink id="abrir" rendered="#{!detailToggler.currentDetailExpanded}"
action="#{detailToggler.toggleDetail}" reRender="saida">
<h:outputText value="Exibir Movimento" />
<a4j:ajaxListener
type="org.ajax4jsf.ajax.ForceRender" />
</a4j:commandLink>
</h:column>
<f:facet name="detailStamp" >
<t:dataTable columnClasses="size60, size15, size25" rowClasses="linhaMov" style="border-left:solid 1px #dcdcdc; float:right;width:50%; margin-left:-12px; margin-top:-9px; margin-bottom:0px;" id="detalhes" var="detalhe" value="#{currentRow.detalhe}">
<h:column>
<h:outputText value="#{detalhe.descricao}"/>
</h:column>
<h:column>
<h:outputText value="#{detalhe.dataDocCTO}"/>
</h:column>
<h:column>
<h:outputText value="R$ #{detalhe.valor}"/>
</h:column>
</t:dataTable>
</f:facet>
</t:dataTable>
</t:dataList>
Ele está exibindo os dados corretamente dos 3 níveis.
O problema é na hora de expandir/fechar os detalhes do nível lançamento.
Ao invés de abrir/fechar somente os subníveis do nível clicado, é aberto/fechado todos os subníveis dos lançamentos que tem o mesmo índice.
O problema ocorre desta forma:
Projeto 1
--lanc1
--lanc2 <-- cliquei neste nível e todos os outros níveis estão fechados
----mov1
----mov2
----...
--...
Projeto 2
--lanc1
--lanc2 <-- como cliquei no lanc2 do proj1 e este lancamento tem o mesmo índice (1) ele é aberto também
----mov1
----mov2
--...
...
...
O meu objetivo é que seja expandido/fechado somente o nível que eu cliquei do determinado projeto.
Será que alguém pode me ajudar??
Obs: estou utilizando o Tamahawk.
Grato,
Gilvan