primefaces对话框没有显示出来

时间:2013-07-01 09:35:42

标签: jsf-2 primefaces dialog

嗨伙计们的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";
    }
}

1 个答案:

答案 0 :(得分:0)

我通常通过Javascript打开对话框

    PF('_cusInfoDlg').show();