Datatable não atualiza após uma chamada ajax bem-sucedida

Eu tenho uma tabela de dados. Cada linha da tabela possui umcommandButton chamado'Retirar', que deve remover essa linha do modelo e da visualização e executar uma atualização no local. Como rodapé, tenho outrocommandButton chamado 'Remover todas as linhas'.

O último botão funciona. Clico nele, todas as linhas são removidas do modelo (ou seja, oArrayList contendo os elementos fica vazio) e odataTable efooter facet é renderizado novamente (ou atualizado) na exibiçã

Por outro lado, quando clico em um botão em uma das linhas, para removê-lo, ele funciona parcialmente. O elemento correspondente é removido do modelo, mas a visualização não é atualizada. Essa linha ainda está lá nodataTable e afooter facet não mudou.

Tenho o seguinte trecho de código no meuusers.xhtml.

<f:metadata>
    <f:viewParam name="id" value="#{users.id}" />
    <f:event type="preRenderView" listener="#{users.init}" />
</f:metadata>

...

<h:form id="usersForm">
    <p:outputPanel>    
        <p:dataTable id="userTable" value="#{users.user.friendList}" var="friend">
            <p:column>
                <h:outputText value="#{friend.name}" />
            </p:column>
            <p:column>
                <p:commandButton action="#{users.user.removeFriend(friend)}"
                    ajax="true"
                    update="userTable somethingElse" process="@this"
                    onerror="errorDialog.show();"
                    icon="ui-icon-delete"
                    title="delete user">
                </p:commandButton>
            </p:column>

            <f:facet id="somethingElse" name="footer">  
                    aye: ${users.user.xxx}
            </f:facet>
        </p:dataTable>

    </p:outputPanel>

    <p:commandButton action="#{users.user.removeAllFriends()}" ajax="true"
                update="userTable somethingElse"
                process="@this"
                icon="ui-icon-close"
                value="delete all friends?">
    </p:commandButton>


</h:form>

Então, qual você acha que é o problema aqui?

Estou usando JSF 2.0 e Primefaces 3.0

questionAnswers(6)

yourAnswerToTheQuestion