Datatable не обновляется после успешного вызова ajax

У меня есть таблица данных. Каждый ряд таблицы имеетcommandButton называется'Удалить', который должен удалить эту строку из модели и вида и выполнить обновление на месте. Как нижний колонтитул, у меня есть еще одинcommandButton называется«Удалить каждый ряд».

Последняя кнопка работает. Я нажимаю на нее, каждая строка удаляется из модели (т.е.ArrayList содержащий элементы становится пустым) иdataTable а такжеfooter facet перерисовывается (или обновляется) в представлении.

С другой стороны, когда я нажимаю кнопку в одной из строк, чтобы удалить ее, она частично работает. Соответствующий элемент удаляется из модели, но представление не обновляется. Этот ряд все еще там вdataTable иfooter facet не изменился

У меня есть следующий кусок кода в моемusers.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>

Итак, в чем, по-вашему, проблема здесь?

Я использую JSF 2.0 и Primefaces 3.0

Ответы на вопрос(6)

Ваш ответ на вопрос