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>
http://stackoverflow.com/questions/25339056/understanding-process-and-update-attributes-of-primfaces –