2011-04-26 78 views
2

我正在使用dataTable和dataScroller。 我已将'Page'属性添加到我的dataScroller中,并将getter和Setter放入bean中。查找DataScroller当前页面

如何检查用户在bean上的当前页面?

每次用户选择新页面,命中next,previous等时,我是否必须手动维护backing 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; 
    } 

} 

感谢

回答

2

你不需要手动设置testBean.myPage。当你浏览来回使用<rich:datascroller>

以编程方式更改页值,只是在分配一些操作方法设置新的页码到testBean.myPage它会自动设置为一个新的页码。然后reRender <rich:datascroller>

+0

感谢肯。我如何访问和更改支持bean中的页面值? (没有用户在前端选择一个页码) – 2011-05-04 19:35:42

+0

嗨Mcloving。我刚刚更新了我的答案来回答你的问题 – 2011-05-05 13:43:21

0

你用什么范围来调用testBean?

试试这个,分页只能在第一时间:

@Named 
@Singleton 
public class testBean { 
....