Найти текущую страницу DataScroller

#jsf #richfaces #datascroller

#jsf #richfaces #прокрутка данных

Вопрос:

Я использую DataTable с помощью dataScroller. Я добавил атрибут ‘Page’ в свой dataScroller и поместил средства получения и настройки в компонент.

Как я могу проверить текущую страницу, на которой находится пользователь, в компоненте?

Должен ли я вручную поддерживать значение резервного компонента каждый раз, когда пользователь выбирает новую страницу, нажимает next, previous и т.д.?

 <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;
    }

}
  

Спасибо

Ответ №1:

Вам не нужно вручную устанавливать testBean.myPage . При переходе туда и обратно с помощью <rich:datascroller>

Чтобы изменить значение страницы программно, просто присвойте set новый номер страницы testBean.myPage в каком-либо методе действия. Затем повторно отобразите <rich:datascroller>

Комментарии:

1. Спасибо Кену. Как я могу получить доступ и изменить значение страницы в backing bean, хотя? (без необходимости выбора пользователем номера страницы во внешнем интерфейсе)

2. Привет, Mcloving. Я только что обновил свои ответы, чтобы ответить на ваш вопрос

Ответ №2:

Какую область вы используете для вызова testBean?

Попробуйте это, подкачка работает только в первый раз:

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