私のアプリケーションには、<p:dataTable>
ページネーションと LazyDatamodel があり、フォームの下部には、編集した行を保存できるCommandButton
名前があります。update
問題は次のとおりです。1.あるページからユーザーが編集した行を保存せずにページを離れたい場合、発生したイベントを伝播しpage
、ページを離れないように現在のページにとどまり、現在のページに変更がない場合その場合、ユーザーはページを離れることができます。
.xhtml のコードを以下に示します。
<h:form id="userListForm">
<p:panel id="userListPanel" header="#{adbBundle['userList.panel.header']}" toggleable="true">
<p:dataTable var="user" id="userTable" value="#{userDataModel}" lazy="true" paginator="true" rows="25" paginatorPosition="bottom"
paginatorTemplate="{CurrentPageReport} {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"
rowsPerPageTemplate="25,50,100" widgetVar="userDataTable" styleClass="userTable" selectionMode="single" >
<f:facet name="header">
<p:outputPanel>
<h:panelGroup layout="block" id="resetFiter" styleClass="dataTableResetFilter">
<p:outputLabel value="#{adbBundle['filter.resetText']}" />
<p:spacer width="10" />
<p:commandButton icon="ui-icon-circle-close" actionListener="#{userListController.resetUserTable}" />
</h:panelGroup>
</p:outputPanel>
</f:facet>
<p:column id="nameColumn" headerText="#{adbBundle['name']}" sortBy="#{user.fullName}" filterBy="#{user.fullName}" styleClass="userName">
<h:outputText value="#{user.fullName}" />
</p:column>
<p:column id="statusColumn" headerText="#{adbBundle['status']}" sortBy="#{user.active}" filterBy="#{user.statusText}" filterMatchMode="exact" styleClass="manageStatus"
filterOptions="#{userListController.statusOptions}" rendered="#{manageUser != null and manageUser != ''}">
<h:panelGroup layout="block">
<p:selectOneRadio id="userRadio" value="#{user.statusText}" styleClass="roleRadio">
<f:selectItem itemLabel="#{adbBundle['active']}" itemValue="Active" />
<f:selectItem itemLabel="#{adbBundle['inactive']}" itemValue="Inactive" />
<p:ajax listener="#{userListController.changeStatus}" />
<f:attribute name="user" value="#{user}" />
</p:selectOneRadio>
</h:panelGroup>
</p:column>
</p:dataTable>
</p:panel>
</h:form>
どのように実装できますか?どんなポインタでも私にとって非常に役に立ちます。ありがとう..