簡體   English   中英

采用 <p:commandbutton> 在 <p:datatable> 顯示一個 <p:dialog>

[英]use <p:commandbutton> in <p:datatable> to show a <p:dialog>

您好,我正在嘗試在ap:datatable中實現一些基本的命令按鈕。 我的需求幾乎與此帖子相同: f:setPropertyActionListener未調用

基本上,我需要在中有一列按鈕,單擊一個按鈕將把當前行的對象傳遞給Bean,然后會彈出一個對話框,顯示所選對象的一些信息。

以下是相關代碼:

<f:view>
    <body>
        <h:form id="theForm">

            <p:dataTable id="testFailures" value="#{testDetails.report.failures}" var="failure"
                styleClass="baseTable">
                <p:column id="requestColumn">
                    <f:facet name="header">
                        <h:outputText value="Request" id="requestHeaderText" />
                    </f:facet>
                    <p:commandButton value="Detail" update="requestDialog"
                        oncomplete="PF('dlg1').show();" type="button">
                        <f:setPropertyActionListener
                            target="#{testDetails.selectedFailure}" value="#{failure}" />
                    </p:commandButton>
                    <h:message for="requestDialog" />
                    <p:dialog id="requestDialog" header="Request Dialog"
                        widgetVar="dlg1" dynamic="true">
                        <h:outputText value="#{selectedFailure.request}" />
                    </p:dialog>

                </p:column>
            </p:dataTable>
        </h:form>
        <h:message for="theForm" />

        <h:message for="responseDialog" />
        <p:dialog id="responseDialog" header="Request Dialog"
            widgetVar="dlg2" dynamic="true">
            <h:form>
                <h:outputText value="#{selectedFailure.request}" />
            </h:form>
        </p:dialog>
    </body>
</f:view>

我試圖將對話框放置在不同的位置(請參見“ dlg1”和“ dlg2”)。 但是都行不通。 沒有對話框顯示。 也沒有顯示任何內容。 而且我在瀏覽器的控制台窗口中沒有看到任何錯誤消息。 (我認為有一個感嘆號警告)。

我嘗試了調試模式,並且未調用屬性“ selectedFailure”的設置方法。

嘗試從commandButton中刪除type =“ button”,它應該可以工作。 此外,對話框不應放置在dataTables內部,因此“ dlg2”的位置更為正確。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM