Асинхронный DataProvider, CellTable, кнопка последней страницы пейджера

Я использую CellTable со страницей и асинхронным поставщиком данных. Все работает нормально, кнопка «последняя страница» на странице отключена. Это может быть из-за того, что асинхронный поставщик данных может доставлять дополнительные данные и, следовательно, не знает, сколько записей у него будет и какая последняя страница. Однако я знаю, когда доставка данных завершена, поэтому я могу отобразить последнюю страницу.

Как я могу сказать асинхронному поставщику данных, что данных больше нет и он должен отображать кнопку последней страницы?

БР, Стефан


person Stefan    schedule 24.04.2012    source источник


Ответы (2)


У меня была такая же проблема с использованием SimplePager с uiBinder. Конструктор по умолчанию для SimplePager показывает кнопку вперед, а не кнопку последней страницы...

Затем я использую @UiField(provided=true) для SimplePager и использую следующий конструктор:

pager = new SimplePager(TextLocation.LEFT, (Resources) GWT.create(SimplePager.Resources.class), false, 0, true);

которые соответствуют:

public SimplePager(TextLocation location,
  Resources resources, boolean showFastForwardButton,
  final int fastForwardPages, boolean showLastPageButton) 
person Philippe Gonday    schedule 25.04.2012

Вы пытались установить флаг exact в updateRowCount(count,exact) в true?

Также убедитесь, что вы вызываете функцию обновления в следующем порядке:

setRowCount(length, true);
setRowData(0, data);
person Ümit    schedule 24.04.2012
comment
Я думаю, что это правильный ответ на вопрос. Я бы также добавил предостережение о том, что вам нужно вернуть счетчик для запроса и ограниченный набор данных (если у вас нет ограниченного набора данных). {metadata:{count:120000,offset:20},data:[entry1,entry2,entry3] } - person Nathan Dunn; 08.07.2015