0

datascrollerを使用したrichfacesデータテーブルがあります。私が欲しいのは、データスクロールボタンの「onclick」イベントをバインドすることです。この操作の目的は、データスクローラーを介した各ページ変更アクションのJavaScriptで定義されたいくつかの基準に基づいて行に色を付けることです。

以下は私のJQuery関数です。

$(document).ready(function() {
    $('#paketler a').live('click', function() {
        stopajRenklendir();
    });
});

そして私のデータテーブルは単純化されました:

                    <rich:dataTable rendered="#{not empty sigortaFaturaPaketiSorgulamaBean.paketProvizyonListModel}" rows="2" 
                    value="#{sigortaFaturaPaketiSorgulamaBean.paketProvizyonListModel}" var="item" border="1" cellspacing="3"
                    styleClass="teminatTablosu" headerClass="teminatTablosuHeader" footerClass="teminatTablosuFooter" rowKeyVar="idx"
                    id="paketler">
                    <f:facet name="footer">
                        <h:outputText
                            value="Paket Sayısı: #{sigortaFaturaPaketiSorgulamaBean.paketProvizyonListModel.rowCount == -1 ? 0 : sigortaFaturaPaketiSorgulamaBean.paketProvizyonListModel.rowCount  }"
                            style="float:left" />
                            <h:panelGroup styleClass="pagingWrapper">
                        <rich:dataScroller fastStep="2" page="#{sigortaFaturaPaketiSorgulamaBean.page}" maxPages="2" id="paging" />
                        </h:panelGroup>
                    </f:facet>
                </rich:dataTable>

スクリプトは意図したとおりに機能し、必要な行に色を付けますが、色を付けた後、テーブルが再度レンダリングされるため、プロセスが役に立たなくなります。

4

1 に答える 1

1

rich:dataScrollerの「oncomplete」を使用できます:

    <rich:dataScroller oncomplete="stopajRenklendir();" ... />

アクションを呼び出したり、別のコンポーネントをレンダリングしたりする場合は、rich:dataScrollerのoncompleteでa4j:jsFunctionを使用できます。

    <rich:dataScroller oncomplete="myJavascript()" ... />

    <a4j:jsFunction name="myJavascript" render="paketler" action="#{sigortaFaturaPaketiSorgulamaBean.myAction}" ... />
于 2013-03-20T12:45:36.977 に答える