2

Prime Faces 3.2 で JSF2.0 を使用しています。2 つのコマンド ボタンを持つ列を持つデータ テーブルがあります。2 番目のコマンド ボタンは、条件に基づいてレンダリングされます。データ テーブルがフィルター処理されるまで、すべてが正常に機能します。レンダリングされた属性のない最初のコマンド ボタンをフィルタリングすると、問題なく actionListener が呼び出されますが、レンダリングされた属性を持つ 2 番目のコマンド ボタンは問題なく呼び出されます。

PS: setPropertyActionListener の代わりに f:param を使用している理由は、フィルタリング時に間違った行の ID を渡す primefaces データテーブルのバグのためです。

これが私のコードです。この問題についての洞察は素晴らしいでしょう。

<p:column headerText="Column1" filterMatchMode="contains" filterBy="#{item.name}" sortBy="#{item.name}">
                       <h:outputText value="#{item.name}" style="float:left" />
                        <span class="inlineButton"> 
                        <p:commandButton id="selectBtn" icon="select"
                            oncomplete="dialog1.show()" actionListener="#{controller.setItem}">                         
                            <f:param name="itemId" value="#{item.id}"/>
                        </p:commandButton>

                    <p:commandButton id="delBtn" icon="delete"
                        actionListener="#{controller.setItem}"
                        oncomplete="delConfirm.show()"
                        rendered="#{not empty item.id}">                            
                        <f:param name="itemId" value="#{item.id}"/>
                    </p:commandButton>
                    </span>
                </p:column>
4

0 に答える 0