GWT CellTable Population
Я хочу заполнить таблицу ячеек данными, поступающими из базы данных через вызов RPC. Может кто-нибудь дать мне пример приложения, которое демонстрирует это (сквозной поток). Я немного смущен, и я новичок в этом. Спасибо за помощь
1 ответ
У меня была та же самая проблема с началом работы с CellTable. В моем случае мне пришлось заполнить CellTable различными типами данных, чтобы представить точки данных с координатами x и y.
Моим решением было создать интерфейс и передать объекты, реализующие этот интерфейс, в CellTable:Интерфейс:
public interface IsDataTablePresentable {
public String xValue();
public String yValue();
}
и экземпляр CellTable:
final CellTable<IsDataTablePresentable> dataTable = new CellTable<IsDataTablePresentable>();
Затем вы создаете столбцы в зависимости от типа данных, в моем случае TextColumn для представления соответствующего значения x в виде String:
TextColumn<IsDataTablePresentable> xValueColumn = new TextColumn<IsDataTablePresentable>() {
@Override
public String getValue(IsDataTablePresentable object) {
return object.xValue();
}
};
dataTable.addColumn(xValueColumn, "the x-axis title");
Код для значений y выглядит одинаково, за исключением того, что я принимаю значение y;)
После этого добавьте данные в CellTable:
dataTable.setRowData(0, (ArrayList<IsDataTablePresentable>) <your field or RPC-returned ArrayList or whatever here!> );
Это оно!
Редактировать: Пример для класса, реализующего IsDataTablePresentable:
public class timeData implements IsSerializable, IsDataTablePresentable {
...
public String xValue() {
return ""+this.time.getDate() + "." + (this.time.getMonth()+1) + "." + (this.time.getYear()+1900);
}
public String yValue() {
return this.value.toString();
}
...
}
Для связи с сервером я рекомендую прочитать эту статью в DevGuide, она мне тоже помогла: Общение с сервером - Google Web Toolkit