2015-05-26 2 views
0

У меня есть primefaces DataTableAjax обновляемый ре: DocumentViewer штукатурок дважды и имеет безответственность кнопки

<p:dataTable ...> 
    <p:ajax event="rowSelect" update=":previewDataForm" oncomplete="$('.previewDataModal').modal();" 
      immediate="true"> 
    </p:ajax> 
</p:dataTable> 

модальные, в котором я хотел бы, чтобы отобразить PDF (б тег bootsfaces)

<b:modal id="previewDataModal" title="Preview" styleClass="orderPreviewModalPseudoClass"> 
    <h:form id="previewDataForm"> 
     <pe:documentViewer height="550" value="#{contentStreamHelperBean.pdfFromFileSystem}" rendered="#{previewMB.renderPreview}"/> 
    </h:form> 
</b:modal> 

I есть проблема с отображением его в случае вызова ajax из dataTable. Когда у меня есть атрибут update=":previewDataForm" в строкеSelect, тогда отображается PDF, но он отображается дважды, а кнопки в документеViewer не отвечают. Когда я удаляю update=":previewDataForm" из строкиSelect documentViewer не отображается.

Когда я вызываю этот модальный с помощью commandButton, тогда все работает нормально. Есть ли способ визуализации previewDataForm только один раз, а затем отображать его из ajax?

Благодаря

ответ

0

Модальным визуализируются при отображении первой страницы. Другими словами, он отображается до того, как пользователь выбрал строку. Я предлагаю вам добавить условие rendered= к тегу <h:form>, чтобы предотвратить первоначальный рендеринг PDF-файла. Я предполагаю, что файл PDF не может быть отображен, потому что ни одна строка не выбрана (как правило, NullPointerException), и это приводит к последующим ошибкам.

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

  • Нет связанных вопросов^_^