JSF - Problema ao expandir databalhe aninhados

0 respostas
G

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

Criado 14 de abril de 2008
Respostas 0
Participantes 1