2015-11-18 1 views
1

Я сделал свой код как де-PF витрина, но он не работает ... Когда я нажимаю на мой commandLink, ничего не происходит. Кто-нибудь может мне помочь? Я уже добавил Apache POI и iText.Почему мой <p: dataExporter> не работает?

enter image description here

 <h:form id="form"> 
      <p:commandButton value="Novo" icon="ui-icon-document" 
       actionListener="#{controleBean.novoReservatorio()}" process="@this" 
       update="dataTable reservatorio-dialog" 
       oncomplete="PF('reservatorioDialog').show()" class="botaoDataTable"> 
       <p:resetInput target="reservatorio-dialog" /> 
      </p:commandButton> 

      <p:commandButton icon="ui-icon-pencil" id="btnEditar" title="Editar" 
       disabled="#{controleBean.reservatorio == null}" 
       class="botaoDataTable" process="@this" update="dataTable :form" 
       oncomplete="PF('reservatorioDialog').show()"> 
       <p:resetInput target="reservatorio-dialog" /> 
       <f:setPropertyActionListener target="#{controleBean.reservatorio}" 
        value="#{controleBean.reservatorioSelecao}" /> 
      </p:commandButton> 

      <p:commandButton icon="ui-icon-trash" id="btnExcluir" 
       title="Excluir" disabled="#{controleBean.reservatorio == null}" 
       class="botaoDataTable" action="#{controleBean.excluirReservatorio}" 
       process="@this" update="dataTable btnExcluir btnEditar" /> 

      <p:dataTable var="r" value="#{controleBean.reservatorios}" 
       paginator="true" rows="30" id="dataTable" 
       emptyMessage="Nenhum Reservatorio Cadastrado" 
       paginatorPosition="bottom" 
       selection="#{controleBean.reservatorioSelecao}" 
       selectionMode="single" rowKey="#{r.idReservatorio}"> 

       <p:ajax event="rowSelect" 
        update=":form:btnEditar :form:btnExcluir" /> 
       <p:ajax event="rowUnselect" 
        update=":form:btnEditar :form:btnExcluir" /> 

       <p:column headerText="Nome"> 
        <h:outputText value="#{r.nomeReservatorio}" /> 
       </p:column> 

       <p:column headerText="Capacidade (Lt)"> 
        <h:outputText value="#{r.capacidadeReservatorio}" /> 
       </p:column> 

       <p:column headerText="Tipo"> 
        <h:outputText value="#{r.tipoReservatorio}" /> 
       </p:column> 

       <p:column headerText="Observação"> 
        <h:outputText value="#{r.obsReservatorio}" /> 
       </p:column> 
      </p:dataTable> 

      <p:commandLink> 
       <p:graphicImage library="img" name="xlsx.png" width="32" title="Exportar para Excel"/> 
       <p:dataExporter type="xls" target="dataTable" fileName="Relatorio" /> 
      </p:commandLink> 

      <h:commandLink> 
       <p:graphicImage library="img" name="pdf.png" width="37" title="Exportar para PDF"/> 
       <p:dataExporter type="pdf" target="dataTable" fileName="Relatorio"/> 
      </h:commandLink> 

      <p:commandButton value="Exportar para PDF" ajax="false"> 
       <p:dataExporter type="pdf" target=":form:dataTable" fileName="dataTable" /> 
      </p:commandButton> 

      <p:dialog header="Reservatório" widgetVar="reservatorioDialog" 
       id="reservatorio-dialog" resizable="false" modal="true" 
       closeOnEscape="true"> 
       <p:messages style="font-size:70%;" /> 

       <p:panelGrid styleClass="semBorda"> 
        <p:row> 
         <p:column> 
          <h:outputLabel for="nomeReservatorio" value="* Nome: " 
           class="componentePF label" /> 
         </p:column> 
         <p:column> 
          <p:inputText id="nomeReservatorio" required="true" 
           value="#{controleBean.reservatorio.nomeReservatorio}" 
           requiredMessage="É necessário atribuir um nome à reservatorio" 
           class="componentePF text" /> 
         </p:column> 
        </p:row> 

        <p:row> 
         <p:column> 
          <h:outputLabel for="capacidadeReservatorio" 
           value="* Capacidade (Lt): " class="componentePF label" /> 
         </p:column> 
         <p:column> 
          <p:spinner id="capacidadeReservatorio" size="30" 
           value="#{controleBean.reservatorio.capacidadeReservatorio}" 
           min="0" stepFactor="1" required="true" 
           requiredMessage="É necessário atribuir uma capacidade à reservatorio" 
           class="componentePF text" /> 
         </p:column> 
        </p:row> 

        <p:row> 
         <p:column> 
          <h:outputLabel for="tipoReservatorio" 
           value="* Tipo de Reservatório: " class="componentePF label" /> 
         </p:column> 
         <p:column> 
          <p:selectOneMenu id="tipoReservatorio" style="font-size:75% !important;" 
           value="#{controleBean.reservatorio.tipoReservatorio}" 
           class="componentePF text bold" required="true" 
           requiredMessage="É necessário atribuir um tipo ao reservatório"> 
           <f:selectItem itemLabel="Escolha um Tipo para o Reservatório" 
            noSelectionOption="true" /> 
           <f:selectItem itemLabel="Escoamento" itemValue="Escoamento" /> 
           <f:selectItem itemLabel="Reserva" itemValue="Reserva" /> 
          </p:selectOneMenu> 

         </p:column> 
        </p:row> 

        <p:row> 
         <p:column> 
          <h:outputLabel for="obsReservatorio" value="Observação: " 
           class="componentePF label" /> 
         </p:column> 
         <p:column> 
          <p:inputText id="obsReservatorio" 
           value="#{controleBean.reservatorio.obsReservatorio}" 
           class="componentePF text" /> 
         </p:column> 
        </p:row> 

        <p:row> 
         <p:column colspan="2"> 
          <p:commandButton value="Cadastrar" icon="ui-icon-disk" 
           action="#{controleBean.cadastrarReservatorio}" 
           id="cadastrarReservatorio" ajax="false" 
           class="componentePF button" /> 
         </p:column> 
        </p:row> 
       </p:panelGrid> 
      </p:dialog> 
     </h:form> 
+0

Но что ** происходит **. Способ, которым вы его описываете, похож на конечного пользователя, и я полагаю, что вы очень опытный разработчик, поэтому проверьте вкладку сети разработчиков инструментов разработчика и т. Д. ... Попробуйте точки останова в вашем коде и более – Kukeltje

+0

В этом-то и вопрос. Абсолютно ничего не происходит. Я щелкаю, и у меня нет ошибок, нет ответов, ничего. –

+0

можно отправить по почте вся форма, пожалуйста? если вы используете firebug или другие инструменты отладки, включите отладку javascript и нажмите на commandLink и посмотрите, что происходит в консоли? –

ответ

1

Первый <p:commandLink> не работает быть причиной он посылает запрос Ajax. Просто добавьте ajax="false", чтобы решить эту проблему.

См. https://stackoverflow.com/a/7740280/1980659 для объяснения причин.

С помощью того, что вы предоставили, две другие кнопки должны работать.

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