2012-02-01 8 views
0

У меня возникли проблемы с реиндексированием <rich:dataTable> в JSF. У меня есть ссылка обновления на моей странице, которая должна обновить только содержаниеКак переупаковать богатых: dataTable

<h:commandLink action="#" value="#{messages['listmsgs.header.refresh']}"> 
    <a4j:support event="onclick" reRender="mesagesListTable" /> 
</h:commandLink> 

Но когда я попал на эту кнопку, ничего не происходит. Когда я нажимаю F5, ничего не происходит. Если я нажму ссылку, которая приведет меня к текущей странице, ничего не произойдет. Только когда я нажимаю ссылку на другую страницу и возвращаюсь (не через кнопку «Назад» браузера), контент переизлучается. Как я могу обеспечить выполнение этого эффекта с помощью reRender?

ответ

1

Повторить родительский компонент таблицы данных. Например, вы можете поместить dataTable внутри h: panelGroup и повторно отобразить panelGroup.

+0

Это не работает. Может быть, это имеет какое-то отношение к Hibernate. Я заметил, что когда таблица получает новую строку, таблица обновляется. Но когда значение ячейки изменяется, ничего не происходит. – thobens

+0

Вы сохраняете коллекции, которые где-то кормят таблицу, или вы читаете ее из базы данных каждый раз, когда вызывается получатель? – Pablo

+0

Я читаю его каждый раз, когда вызывается геттер. Но я нашел решение: я вызвал entityManager.clear() в getter, теперь он работает. Спасибо за ваши комментарии – thobens