2013-08-06 2 views
1

셀 테이블을 크레이트하고 SimplePager를 추가하는 다음 코드가 있습니다.GWT celltable 페이지 매김이 작동하지 않음

public class CellTableTestClass { 
private VerticalPanel applicationPanel = new VerticalPanel(); 
private CellTable<Contact> cellTable = new CellTable<Contact>(); 
public VerticalPanel createContent() { 
List<Contact> list=Arrays.asList(new Contact("John","123 Fourth Road"), new Contact("Mary", "222 Lancer Lane"), new Contact("Zander", "94 Road Street"), new Contact("Harry","303 Shakti")); 

cellTable.addColumn(new TextColumn<Contact>() { 

      @Override 
      public String getValue(Contact object) { 
       return object.name; 
      } 
     }, "Log Name"); 

     cellTable.addColumn(new TextColumn<Contact>() { 

      @Override 
      public String getValue(Contact object) { 
       return object.address; 
      } 
     }, "Size"); 


     // create a pager, giving it a handle to the CellTable 
     SimplePager.Resources pagerResources = 
       GWT.create(SimplePager.Resources.class); 
     SimplePager pager = new SimplePager(TextLocation.CENTER, 
       pagerResources, true, 0, true); 
     pager.setDisplay(cellTable); 
     pager.setPageSize(2); 
     cellTable.setRowData(0,list); 
     cellTable.setRowCount(list.size()); 
     // add the Pager to the dialog 
     applicationPanel.add(pager); 
     applicationPanel.add(new HTML("<hr />")); 
     applicationPanel.add(cellTable); 
     return applicationPanel; 
    } 
} 

페이저의 다음 버튼을 클릭하면 화면로드 만 표시됩니다. 누구든지 코드의 가능한 오류를 지적 할 수 있습니까 ??

+0

같은 일이 일 –

답변

1

mentionned here으로 cellTable을 사용할 때는 dataprovider를 사용해야합니다. 원하지 않으면 cellTable 대신 cellList를 사용하고 cellList.setRowData()를 사용할 수 있습니다.

0

다음은 CellTable, SimplePager 및 ListDataProvider의 간단한 예입니다. 나는 연락처 목록의 DataProvider를 사용하는 경우이 도움이 될 수

CellTable<AlarmDisplayBTO> cellTable= new CellTable<AlarmDisplayBTO>(); 
    TextColumn<AlarmDisplayBTO> dateColumn = new TextColumn<AlarmDisplayBTO>() { 
     @Override 
     public String getValue(AlarmDisplayBTO object) { 
      return object.getDate(); 
     } 
    }; 
    cellTable.addColumn(dateColumn, "Date"); 
    TextColumn<AlarmDisplayBTO> alarmNameColumn = new TextColumn<AlarmDisplayBTO>() { 
     @Override 
     public String getValue(AlarmDisplayBTO object) { 
      return object.getAlarmName(); 
     } 
    }; 
    cellTable.addColumn(alarmNameColumn, "Alarm Name"); 

    cellTable.setRowCount(alarmList.size()); 
    // alarmList is an ArrayList<AlarmDisplayBTO> rendered from RPC call 
    cellTable.setRowData(0, alarmList); 
    cellTable.setEmptyTableWidget(new Label(" No Records Found")); 

    ListDataProvider<AlarmDisplayBTO> dataProvider = new ListDataProvider<AlarmDisplayBTO>(); 
    dataProvider.addDataDisplay(cellTable); 
    dataProvider.setList(alarmList); 

    SimplePager pager = new SimplePager(); 
    pager.setDisplay(cellTable); 
    pager.setPageSize(20); // 20 rows will be shown at a time 

    VerticalPanel vPanel = new VerticalPanel(); 
    vPanel.add(cellTable); 
    vPanel.add(pager); 

    setWidget(new ScrollPanel(vPanel)); 

희망은 ..