<p:dataTable id="id" value="#{bean.soemList}" var="account">
<p:commandLink value="#{account.id}" action="#{bean.methodCall}"
update="dialogID" oncomplete="dlg1.show();">
</p:commandLink>
<p:dialog header="#{i18n.details}" widgetVar="dlg1" modal="true" height="200" width="600">
<h:panelGroup id="dialogID" layout="block">
<h:outputLabel value="#{bean.var1}"></h:outputLabel>
</h:panelGroup>
</p:dialog>
p:dialog
zostanie zaktualizowany, gdy łącze jest poza p:dataTable
, ale kiedy link jest umieszczony w p:dataTable
, p:dialog
nie pokazuje zaktualizowanej wartości. Muszę zachować łącze w p:dataTable
. Komponent do aktualizacji nie znajduje się w dataTable.
Czy możesz wysłać swój kod bean.methodCall? Mam ten sam problem. – JsfLearner
@SfsLearner: W metodzie fasoli zmieniam tylko wartość zmiennej. Zmieniona wartość powinna być wyświetlana w h: outputLabel, która jest wewnątrz p: dialog, ale problem polega na tym, że nadal wyświetla starą wartość, a nie nową wartość. Ale zmienia wartość metody zmiennej w komponencie bean, ale nowa wartość nie jest odzwierciedlana na stronie. public String methodCall() { this.var1 = true; } w tym przypadku po wywołaniu metody strona wciąż wyświetla "false" – Amruta