Boa tarde.
Estou usando o seguinte componente ajax dentro de um <t:dataTable>
<t:column headerstyleClass="list-header-center" >
<f:facet name="header">
<h:outputText value="Remover" />
</f:facet>
<a4j:commandButton image="/images/delete.gif" title="Remover Diarias" alt="Remover Diarias" immediate="true" actionListener="#{ReservaMB.removeDiaria}" reRender="dataContratos, diasTitulo" />
</t:column>
Onde:
dataContratos = o id do <t:dataTable> e
diasTitulo = o id de um <t:inputText> situado fora e acima do <t:dataTable>
(todos os componentes usam forceId=“true”)
No MBean
public void removeDiaria(ActionEvent evt) {
DiariaContratoVO diaria = (DiariaContratoVO) this.getArrayDiarias().getRowData();
this.getObj().setDiasTitulo(this.getObj().getDiasTitulo() - diaria.getQuantiaDiarias());
((List)this.getArrayDiarias().getWrappedData()).remove(diaria);
}
O problema é que na table o item é removido e atualizado perfeitamente, porém o inputText não esta sendo atualizado com o novo valor que foi calculado para ele no metodo removeDiaria.
Gostaria de saber se existe alguma hierarquia, na arvore de componentes da view do JSF, que deve ser respeitada ao usar o reRender do ajax4jsf. Se tem alguns componentes que não podem ser atingidos devido a alguma hierarquia.
OBS.: Depurando verifico que o valor da propriedade do inputText no MBean esta atualizada, so não foi redenizada.