2013-09-17 3 views
0

У меня есть диалог p:. Я намерен создать список, используя p: datagrid, и когда пользователь нажимает на элемент, этот диалог откроется и покажет его детали. Пожалуйста, рассмотрите пример p: datagrid в витрине. Однако в настоящее время он отлично работает в IE, но не в Chrome. Если я определяю «modal = true», браузер становится черным, но диалог не отображается.Диалоговое окно «Интерфейсы» не работает с Chrome

<p:commandButton update=":form:sharePanel" value="Share" style="font-size: 10px" oncomplete="PF('dlg').show()" rendered="false"> 
           <f:setPropertyActionListener target="#{shareController.current}" value="#{status}" /> 
          </p:commandButton> 

<p:dialog widgetVar="dlg" resizable="false" id="sharePanel" styleClass="no-border" modal="true"> 
       <h:outputText value="#{shareController.current.url.url}" /> 
       <h:panelGrid columns="3">        
        <p:dataGrid value="#{shareController.current.url.NLinkList}" var="nshare" columns="1" rendered="#{shareController.current.url.NLinkList.size() > 0}"> 
         <h:panelGroup styleClass="tag noun"> 
          <h:outputText value="#{nshare.noun}" /> 
         </h:panelGroup> 
        </p:dataGrid> 
        <p:dataGrid value="#{shareController.current.url.VLinkList}" var="vshare" columns="1" rendered="#{shareController.current.url.VLinkList.size() > 0}"> 
         <h:panelGroup styleClass="tag verb"> 
          <h:outputText value="#{vshare.verb}" /> 
         </h:panelGroup> 
        </p:dataGrid> 
        <p:dataGrid value="#{shareController.current.url.PLinkList}" var="pshare" columns="1" rendered="#{shareController.current.url.PLinkList.size() > 0}"> 
         <h:panelGroup styleClass="tag prep"> 
          <h:outputText value="#{pshare.prep}" /> 
         </h:panelGroup>      
        </p:dataGrid> 
       </h:panelGrid> 
      </p:dialog> 

Что здесь не так?

ответ

0

Если вы используете версии Primefaces до 4.0, используйте dlg.show() вместо PF('dlg').show().

И попробуйте добавить диалог в теле с помощью атрибута appendToBody="true", потому что если Facelet более сложный, и если вы используете макеты, диалог не загорается, а некоторые браузеры покажут только модель.

<p:dialog appendToBody="true" > 
+0

Не работает. Даже если я укажу visible = "true" все тот же результат ... – Yangrui

+0

Вы использовали dlg.show() вместо PF ('dlg'). Show()? –

+0

Да. все еще не работает. – Yangrui

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