2012-05-14 21 views
2
  1. CellTable을 만들고 싶습니다. 그러나 셀 테이블의 열은 서버의 응답을 기반으로해야합니다. List로 서버 응답을받습니다.서버의 응답을 기반으로 CellTable을 만드는 방법

    No of Columns = Size of the list. 
    
  2. CellTable 열 머리글은 서버의 값이어야합니다. 예 : 서버 응답 : List<Contacts> contacts

    헤더는 contacts.getName()이어야합니다.

답변

1

다음 코드로 달성했습니다.

  for (Contacts contact : contacts) { 
       final String city = contact.getCity(); 
       final TextColumn<String> addressColumn = new TextColumn<String>() { 

       @Override 
       public String getValue(Contacts object) { 
        return city; 
       } 
      }; 

      cellTable.addColumn(addressColumn, contact.getAddress()); 
      } 

감사합니다, Gnik

0

사용 CellListAsyncDataProvider로 :

//Create a cellList 
@UiField 
CellList<Contact> cellList; 

//Creating dataProvider and completion of the cellList 
@UiFactory 
CellList<Contact> makeCellList() { 
private AsyncDataProvider<Contact> provider = new AsyncDataProvider<Contact>() { 
    @Override 
    public void onRangeChanged(final HasData<Contact> display) { 
     rpcService.getContact(new AsyncCallback<List<Contact>>() { 
       @Override 
       public void onSuccess(List<Contact> result) { 
        display.setRowData(0, result); 
       } 
       @Override 
       public void onFailure(Exception ex) { 
        //TODO 
       } 
     }); 
    } 
}; 

//Adding the cellList to the provider in a constructor 
provider.addDataDisplay(cellList); 

여기 exampledocs 전체입니다.

+0

감사합니다 안드레이. 하지만 CellList가 아닌 CellList를 사용해야합니다. CellTable은 고객의 요구 사항입니다. – Prince

+0

어쨌든'AsyncDataProvider'를 사용하십시오. 해당 사항은 다음과 같습니다 (예 : http://www.mytechtip.com/2010/11/gwt-celltable-example-using_8168.html). – kapand