2012-05-14 6 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

Использование CellList с AsyncDataProvider:

//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); 

Вот полный example и docs.

+0

Спасибо Андрей. Но я должен использовать CellTable, а не CellList. CellTable - это требование нашего клиента. – Prince

+0

В любом случае используйте 'AsyncDataProvider'. Здесь применим [пример] (http://www.mytechtip.com/2010/11/gwt-celltable-example-using_8168.html). – kapand