我需要在数据表的每一行都有一个覆盖面板,以便动态更改记录。如下所示:
我不知道为什么当我按下保存按钮时,它会调用两次我的属性(str)的Setter来存储新的Age。第一次设置新值,但在第二次设置中它只返回一个空值。
22:32:34,502 INFO [stdout](http-localhost-127.0.0.1-8080-3)31
22:32:34,502 INFO [stdout](http-localhost-127.0.0.1-8080-3)
以下是代码:
<p:dataTable value="#{backbean.l}" var="l" style="width: 300px;">
<p:column>
<h:outputText value="#{l.id}" />
</p:column>
<p:column>
<h:outputText value="#{l.nome}" />
</p:column>
<p:column>
<h:outputText value="#{l.age}" />
</p:column>
<p:column>
<p:graphicImage value="/img/icone.png" id="newAge">
<p:overlayPanel id="imgPanel" for="newAge" showEvent="mouseover"
hideEvent="mousedown" showCloseIcon="true">
<h:outputText value="Change Age:" />
<p:inputText value="#{backbean.str}" style="margin-left: 10px;"></p:inputText>
<br />
<p:commandButton action="#{backbean.save}" value="Save"></p:commandButton>
</p:overlayPanel>
</p:graphicImage>
</p:column>
</p:dataTable>
提前致谢。
最诚挚的问候,
路易斯
@Edit:
猜猜它已经解决了...... 刚刚添加了dynamic =“true”,它似乎工作正常。 明天我将验证该解决方案,然后我在此确认。