2

我的问题是p:dialog没有显示。侦听器被解雇,没有错误消息。我的要求是:当我选择一行时,必须在对话框中显示行详细信息。

请帮帮我。提前致谢。

<h:form id="form">  
    <p:dataTable id="cars" var="car" value="#{tableBean2.carsSmall}" paginator="true"
        rows="10" rowKey="#{car.model}" selection="#{tableBean2.selectedCar}"
        selectionMode="single">  
        <p:ajax event="rowSelect" listener="#{tableBean2.onRowSelect}"    
            update=":form1:display :form1:growl" oncomplete="PF('carDialog').show()" />
        <p:ajax event="rowUnselect" listener="#{tableBean2.onRowUnselect}"
            update=":form1:growl" />
        <f:facet name="header">  
            Select a row to display a message  
        </f:facet>  
        <p:column headerText="Model">  
            #{car.model}  
        </p:column>  
        <p:column headerText="Year">  
            #{car.year}  
        </p:column>  
        <p:column headerText="Manufacturer" >  
            #{car.manufacturer}  
        </p:column>  
        <p:column headerText="Color">  
            #{car.color}  
        </p:column>
    </p:dataTable>  
</h:form>

<h:form id="form1">
    <p:growl id="growl" showDetail="true"/>  
    <p:dialog id="dialog" header="Car Detail" widgetVar="carDialog"  
        resizable="false" position="center center" height="123"
        width="456" appendToBody="true">  
        <h:panelGrid id="display" columns="2" cellpadding="4">  
          <h:outputText value="Model:" />  
          <h:outputText value="#{tableBean2.selectedCar.model}" />  
          <h:outputText value="Year:" />  
          <h:outputText value="#{tableBean2.selectedCar.year}" />  
          <h:outputText value="Manufacturer:" />  
          <h:outputText value="#{tableBean2.selectedCar.manufacturer}" />  
          <h:outputText value="Color:" />  
          <h:outputText value="#{tableBean2.selectedCar.color}" />  
       </h:panelGrid>  
    </p:dialog>  
</h:form>
4

1 回答 1

3

我不完全确定该PF函数的作用,但是当我最终运行您的代码并更改时

oncomplete="PF('carDialog').show()"

oncomplete="carDialog.show()" 

<p:dialog>弹出。

于 2013-07-29T13:08:36.627 回答