2

dataScrollerでdataTableを使用しています。dataScrollerに「Page」属性を追加し、getterとSetterをBeanに配置しました。

ユーザーがBeanで表示している現在のページを確認するにはどうすればよいですか?

ユーザーが新しいページを選択したり、次、前などにアクセスしたりするたびに、バッキングBeanの値を手動で維持する必要がありますか?

<a4j:outputPanel id="renderArea">
    <rich:dataTable id="testTable" rows="5" value="#{testBean.myList}" var="item">
        ....
    </rich:dataTable>
</a4j:outputPanel>

<!-- Get called when clicking on button inside renderArea -->
<a4j:commandButton id="HIDDENRERENDER"  reRender="renderArea,PTScroll" value="+test"  style="display:none"/> 

<a4j:outputPanel id="PTScroll">
    <h:panelGrid>
        <rich:datascroller  for="testTable" maxPages="20" renderIfSinglePage="false" page="#{testBean.myPage}" />
    </h:panelGrid>
</a4j:outputPanel>


public class testBean 
{
    private int myPage = 1;

    public void initialise()
    {
        this.setMyPage(0);
    }

    public int getMyPage()
    {
        return myPage;
    }

    public void setMyPage(int page)
    {
        this.myPage = page;
    }

}

ありがとう

4

2 に答える 2

2

を手動で設定する必要はありませんtestBean.myPage。を使用して前後に移動すると、自動的に新しいページ番号に設定されます。<rich:datascroller>

testBean.myPageプログラムでページ値を変更するには、何らかのアクションメソッドに新しいページ番号の設定を割り当てるだけ です。次に、再レンダリングします<rich:datascroller>

于 2011-04-30T05:12:36.377 に答える
0

testBeanを呼び出すためにどのスコープを使用しますか?

これを試してください。ページングは​​初めてのみ機能します。

@Named
@Singleton
public class testBean {
....
于 2013-12-19T16:26:50.740 に答える