Если Я удаляю метод new timer(), который запускает код. Я новичок в GWT и нахожу документацию довольно запутанной при попытке получить данные из базы данных с сервера. Судя по всему, большая часть онлайн-документации обращается к локальным данным.
Это работает:
Код: Выделить всё
AsyncDataProvider dataProvider = new AsyncDataProvider() {
@Override
protected void onRangeChanged(HasData display) {
final com.google.gwt.view.client.Range range = display.getVisibleRange();
final ColumnSortList sortList = table.getColumnSortList();
ServerServiceAsync.INSTANCE.getServers(new AsyncCallback() {
@Override
public void onSuccess(List result) {
display.setRowCount(result.size());
display.setRowData(0, result);
}
Код: Выделить всё
AsyncDataProvider dataProvider = new AsyncDataProvider() {
@Override
protected void onRangeChanged(HasData display) {
final com.google.gwt.view.client.Range range = display.getVisibleRange();
final ColumnSortList sortList = table.getColumnSortList();
ServerServiceAsync.INSTANCE.getServers(new AsyncCallback() {
@Override
public void onSuccess(List result) {
display.setRowCount(result.size());
new com.google.gwt.user.client.Timer() {
@Override
public void run() {
int start = range.getStart();
int end = start + range.getLength();
java.util.Comparator sort = new java.util.Comparator() {
@Override
public int compare(ServersDto o1, ServersDto o2) {
if(o1 == o2) {
return 0;
}
int diff = -1;
if (o1 != null) {
diff = (o2 != null) ? o1.getName().compareTo(o2.getName()) : 1;
}
return sortList.get(0).isAscending() ? diff : -diff;
}
};
result.sort(sort);
List dataInRanger = result.subList(start, end);
display.setRowData(start, dataInRanger);
}
}.schedule(100);

Подробнее здесь: https://stackoverflow.com/questions/790 ... taprovider
Мобильная версия