2013-07-29 2 views
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> 
+0

для начала: попытайтесь удалить 'appendToBody =" true "' из диалога – Daniel

+0

Я пробовал без appendToBody. не работает –

ответ

3

Я не совсем уверен, что эта функция делает PF но когда я запустил свой код на моем конце и изменил

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

в

oncomplete="carDialog.show()" 

<p:dialog> выскочил.

+0

, поскольку это означает, что в интерфейсах распознаются компоненты с их идентификаторами. В этом случае идентификатор '' является 'carDialog'. и 'show' - неявный метод для всплытия. –

+0

@PrasadKharkar Спасибо, Прасад. Я так много знаю :), но это функция 'PF', которая меня отбрасывает. Пока я не вижу примера. Все еще смотрящий. – Andy

+0

@PrasadKharkar Витрина использует его, но когда я загружаю исходный код, я не вижу его использования (пока). – Andy

Смежные вопросы