2013-07-09 4 views
1

페이지 테이블이있는 Datatable이 있고 Datatable 외부의 명령 링크로 현재 페이지를 변경하고 싶습니다. 어떻게 가져올 수 있습니까?Primefaces의 페이지 변경 commandlink에서 페이지 매김을 사용하여 데이터 테이블 가능

<p:commandLink title="changePage" action="#{myBean.changeMethod}" 
    update="myDataTable" /> 
<p:dataTable id="myDataTable" var="myItem" paginator="true" rows="1" 
    value="#{myBean.ListOfItem}" binding="#{myBean.DataTable}"> 
    ... 
    ... 
</p:dataTable> 

인사말!

답변

12

이 첫 번째

public void changeMethod() { 
final DataTable d = (DataTable) FacesContext.getCurrentInstance().getViewRoot() 
    .findComponent("myDataTable"); 
int first = 0; 
d.setFirst(first); 

}

에 또는 클라이언트 측에서 테이블의 페이지를 설정합니다 :

widgetVar.getPaginator().setPage(pageindex); 

편집이 :는 "첫 번째는"속성을 나타냅니다 표시되는 최초의 행의 인덱스

+0

감사에게 ! 그것을 아는 것이 좋다, 그러나 나는 진짜로 어떤 페이지든지 놓고 싶다. '

'는 다른 데이터 테이블에 있습니다. commandLink를 클릭하면 어떤 페이지 번호인지 알 수 있습니다. 그 번호로 페이지를 설정하는 방법이 있습니까? 인사말. – Alavaros

+0

오, 기다려라! 내가 필요한 것은 당신의 대답이다. 나는'setFirst'를 사용하여 페이지 매거기를 바꾸 었다고 생각했다. 단지'd.setFirst (numberOfPage)'만했을 뿐이라고 생각했다. 감사!!! PD : 메소드 이름이'setCurrentPage'와 같은 것이면 더 직관적 일 수 있습니다. – Alavaros

+0

U 감사합니다. 내 하루를 절약합니다. –

1

내게는 아주 좋은 작동하지만 전체 구성 요소 이름

FacesContext.getCurrentInstance().getViewRoot().findComponent("form:panel:datatable"); 
1

괜찮아,하지만 지금은 클라이언트 측에서 primefaces 5.1 당신이 좋아해야 입력 할 필요가 들면 : 당신이 대답을

PF('widgetVar').getPaginator().setPage(pageindex); 
관련 문제