2012-01-28 2 views
1

SimplePager를 사용하려고합니다. 하지만 왜 마지막 페이지의 다음 버튼이 여전히 활성화되어 있는지 이해할 수 없습니다. 단추를 클릭하면 단추를 사용하지 않고 기존 레코드로 넘어갑니다. 내 테스트 코드는 다음과 같다 :GWT SimplePager

 CellList <String> cellList = new CellList <String> (TextCell new()); 


    ListDataProvider <String> dataProvider = new ListDataProvider <String>(); 
    List <String> dataProvider.getList data =(); 
    for (int i = 0; i <30; i + +) { 
     data.add ("Item" + i); 
    } 
    dataProvider.addDataDisplay (cellList); 

    SimplePager pager = new SimplePager (SimplePager.TextLocation.CENTER, GWT. <SimplePager.Resources> Created (SimplePager.Resources.class), false, -1, true); 

    pager.setDisplay (cellList); 
    pager.setPageSize (20); 
    pager.setRangeLimited (false); 
    // Add the list to the page and pager. 
    VerticalPanel vPanel VerticalPanel = new(); 
    vPanel.add (pager); 
    vPanel.add (cellList); 
    RootPanel.get(). Add (vPanel); 

덕분에 많은 휴대리스트가 행의 수를 추가

+2

왜'pager.setRangeLimited (false);'를 설정합니까? –

+0

마지막 페이지를 제외한 모든 페이지가 정상적으로 표시됩니다. 15 개의 요소가있는 PageSize가 10 인 경우 마지막 페이지는 의 요소 6에서 15까지를 표시합니다. 11에서 15까지만 표시하는 것을 선호합니다. 이것은 pager.setRangeLimited (false)를 설정하는 이유입니다. – user1175801

+1

코드를 현재 버전으로 업데이트 하시겠습니까? 현재 코드는 유효한 Java 코드조차 아닙니다. –

답변

0

시도 :

cellList.setRowCount을 (dataProvider.size를(), true)를 ;

이 경우에는 목록에서 데이터를 채우고 있기 때문에 두 번째 매개 변수가 true로 설정된 이유가 정확히 몇 행인지 알 수 있습니다. 비동기 호출에서 셀 목록을 채우는 경우 거짓으로 설정하는 것이 좋습니다.

도움이 되었기를 바랍니다.