2016-07-11 13 views
0

「作成」ボタンをクリックすると、Primefacesはcontroller.selectedTableItemメソッドを実行します。なぜですか?私もdatatableを更新していないんですか?p:dataTableの選択は何もせずに実行されます

<p:panel header="#{title}"> 
      <p:toolbar> 
       <f:facet name="left"> 

        <p:commandButton id="createButton" icon="ui-icon-plus" 
         value="#{localization.Create}" ajax="true" 


         update=":ShipmentFormDiv editButton viewButton"> 

         <p:confirm header="#{localization.ConfirmationHeader}" 
          message="#{localization.ConfirmCreateMessage}" 
          icon="ui-icon-alert" /> 
        </p:commandButton> 
       </f:facet> 

     </p:toolbar> 

     <p:dataTable id="datalist" widgetVar="datalist" 
       value="#{controller.lazyItems}" lazy="true" var="item" 
       paginator="true" rows="10" rowsPerPageTemplate="10,20,30,40,50" 
       selectionMode="single" selection="#{controller.selectedTableItem}" 
       paginatorPosition="bottom" reflow="true" 
       rowStyleClass="#{item.rowStyleClass}"> 

       <p:ajax event="rowSelect" 
        update="@form:createButton,@form:viewButton,@form:editButton,@form:deleteButton,@form:InboundShipmentDataTableContextMenu,:ShipmentFormDiv, @form:timeline" 
        listener="#{controller.onSelect}" /> 

       <p:ajax event="rowUnselect" 
        update="@form:createButton,@form:viewButton,@form:editButton,@form:deleteButton,@form:InboundShipmentDataTableContextMenu, :ShipmentFormDiv" 
        listener="#{controller.onUnselect}" /> 

       <p:ajax event="contextMenu" 
        update="@form:createButton @form:viewButton @form:editButton @form:deleteButton" 
        listener="#{controller.onContextMenu}" /> 

       <p:ajax event="rowDblselect" 
        onsuccess="document.getElementById('ShipmentListForm:viewButton').click();" /> 


       <ui:include src="/admin/templates/columns/office.xhtml"> 
       </ui:include> 


      </p:dataTable> 
</p:panel> 

答えて

0

p:commandButtonは、祖先フォームのすべてのコンポーネントを処理するためです。 process="@none"が役立つようです。

  <p:commandButton id="createButton" icon="ui-icon-plus" 
       value="#{localization.Create}" 
       actionListener="#{controller.prepareCreate}" 
       update=":ShipmentFormDiv,:ShipmentListForm, editButton, viewButton" 
       process="@none"> 

       <p:confirm header="#{localization.ConfirmationHeader}" 
        message="#{localization.ConfirmCreateMessage}" 
        icon="ui-icon-alert" /> 
      </p:commandButton> 
+1

http://stackoverflow.com/questions/25339056/understanding-process-and-update-attributes-of-primfaces –