0

私のアプリケーションには、<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>

どのように実装できますか?どんなポインタでも私にとって非常に役に立ちます。ありがとう..

4

0 に答える 0