Witam,
mam pewien problem, mam tabelkę z danymi, w jednej z kolumn jest przycisk, który otwiera okno dialogowe. Kod tej kolumny:
<p:column>
<f:facet name="header">
<h:outputText value="#{msg['history']}" />
</f:facet>
<p:commandLink title="#{msg['see_history_chart']}"
update="eloha" oncomplete="PF('historyChartDialog').show()">
<h:outputText styleClass="ui-icon ui-icon-calendar" />
<f:setPropertyActionListener value="#{item}"
target="#{historyChartBean.selectedItem}" />
</p:commandLink>
<p:dialog id="eloha" header="#{msg['history_chart']}"
widgetVar="historyChartDialog" modal="true" showEffect="fade"
hideEffect="fade" resizable="false">
<p:outputPanel id="historyChartDetail" style="text-align:center;">
<p:panelGrid columns="2" columnClasses="label,value">
#{historyChartBean.selectedItem} <br />
</p:panelGrid>
</p:outputPanel>
</p:dialog>
</p:column>
I pojawia się problem, bo po przycisnięciu przycisku ustawiam własność beana, który jest w zakresie ViewScope, a gdy okno sie otworzy to jego wartość jest już null. Czyżby zakres ważności już się kończył? Jak można zrobić to w prosty sposób, zgodnie z zachowaniem dobrych praktyk? Oczywiście, gdy zmienię zakres beana na Session to działa, ale nie o to mi chodzi... Chciałbym utrzymywać tego beana w ViewScope.
Z góry dzięki za pomoc.