2015-09-30 6 views
0

Здравствуйте, у меня есть две страницы: первая - «creer dossier.jsf», где я могу добавить новую строку, а вторая страница - «listdossier.jsf» внутри. У меня есть таблица только для чтения, содержащая записи первой страницы. Когда я создаю запись на первой странице, она сохраняется в базе данных, но не может отображаться в таблице только тогда, когда я повторно развертываю приложение. Я хочу получить новейшие записи без повторного развертывания приложения. Кто-нибудь может мне помочь? , чтобы создать таблицу, я просто перетащил ее из элемента управления данными. Я использую EclipseLink JPA, как ОРМ и веб-логики Я пытался удалить кэш, используя из persistanc.xml и em.refresh() и всегда с той же проблемой вот мой стол:Как обновить таблицу adf после вставки новой строки

<af:table value="#{bindings.dossierFindAllParDepartementDBTE.collectionModel}" 
var="row" rows="#{bindings.dossierFindAllParDepartementDBTE.rangeSize}" 
emptyText="#{bindings.dossierFindAllParDepartementDBTE.viewable ? 'No data to display.' : 'Access Denied.'}"rowBandingInterval="0" 
fetchSize="#{bindings.dossierFindAllParDepartementDBTE.rangeSize}" id="t2" 
partialTriggers="l1" width="796px" 
immediate="false" binding="#{backingBeanScope.BeanDatabase.t2}"> 
<af:column headerText="ID_Dossier" id="c5" width="150" 
inlineStyle="background-color:#b5ffde"> 
<af:link actionListener="#{bindings.setCurrentRowWithKeyValue.execute}" 
text="#{row.idDossier}" 
disabled="#{!bindings.setCurrentRowWithKeyValue.enabled}" id="l1"action="GoEditDossierBTEDEP1" inlineStyle="background-color:#b5ffde"/> 
</af:column> 
<af:column headerText="Client" id="c6" width="150" 
inlineStyle="background-color:#b5ffde"> 
<af:outputText value="#{row.client}" 
shortDesc="#{bindings.dossierFindAllParDepartementDBTE.hints.client.tooltip}" 
id="ot6"/> 
</af:column> 
<af:column headerText="Ingénieur" id="c7" width="150" 
inlineStyle="background-color:#b5ffde" headerClass="skin1.css"> 
<af:outputText value="#{row.ingAff}"shortDesc="#{bindings.dossierFindAllParDepartementDBTE.hints.ingAff.tooltip}"id="ot7"/> 
</af:column> 
<af:column headerText="Probléme" id="c8" width="300" inlineStyle="background-color:#b5ffde"> 
<af:outputText value="#{row.descriProb}" 
shortDesc={bindings.dossierFindAllParDepartementDBTE.hints.descriProb.tooltip}" 
    id="ot8"/> 
</af:column> 
</af:table> 
+0

Возможно ли, что вы кэшировать данные для таблицы только для чтения в некотором контексте сеанса фасоли? – OndrejM

ответ

0

В задаче поток, который перемещается между двумя страницами, применяет активность метода, которая выполняет вызов запроса и повторно выполняет его, прежде чем вы вернетесь на первую страницу.

+0

спасибо вам за помощь !!! но каждая страница в другом потоке задач, потому что я использую их в качестве меню !!!! – user3419507

0

Вы можете сделать это 2 способами:

  1. Обновить страницу или конкретного компонента второй страницы на Submit первой странице.
  2. Обновить итератор и VO после подачи значений в первой странице