4

その場でレコードを変更するために、データテーブルの各行にオーバーレイ パネルが必要です。以下に示すように:

ここに画像の説明を入力

保存ボタンを押すと、新しい年齢を保存する属性(str)のセッターが2回呼び出される理由がわかりません。初めて新しい値を設定しますが、2 番目の設定では null 値を返します。

22:32:34,502 情報 [stdout] (http-localhost-127.0.0.1-8080-3) 31

22:32:34,502 情報 [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>

前もって感謝します。

よろしくお願いします、

ルイス

@編集:

解決したと思います... dynamic="true" を追加しただけで、正常に動作するようです。明日、その解決策を検証し、ここで確認します。

4

0 に答える 0