OverlayPanel在Datatable中

时间:2013-05-13 02:08:08

标签: jsf primefaces datatable

我需要在数据表的每一行都有一个覆盖面板,以便动态更改记录。如下所示:

enter image description here

我不知道为什么当我按下保存按钮时,它会调用两次我的属性(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”,它似乎工作正常。 明天我将验证该解决方案,然后我在此确认。

0 个答案:

没有答案