0

大家好,primefaces 的对话框不再出现。这是我的代码。请帮忙,我是不是做错了什么。这是我从标题为“更多”的列中调用对话框的代码:

    <h:panelGrid columns="2">
    <p:dataTable id="tbl" var="holder">
    ...
    <p:column>  
                    <f:facet name="header">  
                        <h:outputText value="More"/>  
                    </f:facet>  
                    <p:commandLink value="more" type="button" styleClass="ui-icon ui-icon-search" actionListener="#{editCustomerView.viewCustomerInfo}" update=":content_form:customerInfoDialog" oncomplete="_cusInfoDlg.show()">
                        <f:attribute name="currentCustomer" value="#{holder}"/>
                    </p:commandLink>
    </p:column>
    ...
    </p:dataTable>
    </h:panelGrid>

//dialog is here

    <p:dialog id="customerInfoDialog" widgetVar="_cusInfoDlg" header="Зээлдэгчийн мэдээлэл">
            <ui:include src="#{editCustomerView.infoPage}.xhtml"/>
            <h:commandButton value="ok" styleClass="btn" style="width: 100px; float: right; margin-right: 20px; margin-bottom: 20px;" onclick="customerInfoDlg.hide(); return false;"/>
    </p:dialog>

这是支持 bean actionListener 方法

public void viewCustomerInfo(ActionEvent event)
{   
    this.currentCustomer = (Customer) event.getComponent().getAttributes().get("currentCustomer");
    this.currentCustomerAddress = prepareCurrentCustomerAddress(this.currentCustomer);

    if(this.currentCustomer.isIsCitizen()){ 

        this.infoPage = "CitizenInfo";


    }
    else
    {
        this.infoPage = "OrganizationInfo";
    }
}
4

1 回答 1

0

我通常通过 Javascript 打开对话框

    PF('_cusInfoDlg').show();
于 2015-06-23T12:07:12.213 回答