0

私の目標は、新しい検索後にデータスクローラーの最初のページをリセットすることです。これは、次のステートメントで行う必要があります。

getTableScroller().getUIData().setFirst(index);

私の問題は、データスクローラーを Bean にバインドした後、レンダリングされないことです。検索ボタンを 2 回押した直後にレンダリングされます。

豆:

public class HistoryBean {
    private HtmlDataScroller tableScroller = new HtmlDataScroller();
    // ...

フェイスレット:

<t:dataScroller id="scroll_1"
                for="data"
                fastStep="10"
                pageCountVar="pageCount"
                pageIndexVar="pageIndex"
                styleClass="scroller"
                paginator="true"
                paginatorMaxPages="9"
                paginatorTableClass="paginator"
                paginatorActiveColumnStyle="font-weight:bold;"
                immediate="true"
                actionListener="#{historyBean.scrollerAction}"
                binding="#{historyBean.tableScroller}"
                >

属性を削除するbindingと、最初のリクエストでレンダリングされます。私は何を忘れましたか?

4

1 に答える 1

2

リクエストスコープよりも広いスコープにある Bean にコンポーネントをバインドしないでください。

むしろ、first属性をビューで直接指定してください。

<t:dataScroller first="#{historyBean.index}" ...>
于 2012-01-09T17:00:04.603 に答える