2012-04-24 4 views
1

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

Как сообщить асинхронному DataProvider, что данных больше нет, и он должен отображать последнюю страницу кнопки?

BR, Стефан

ответ

3

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

тогда я использую @UiField (при условии = истина) для 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) 
+1

perfect, thanks – Stefan

1

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

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

setRowCount(length, true); 
setRowData(0, data); 
+0

Я думаю, что это правильный ответ на вопрос. Я также добавил бы оговорку, что вам нужно также вывести счетчик для запроса и ограниченный набор данных (если у вас нет ограниченного набора данных). '' '{metadata: {count: 120000, offset: 20}, data: [entry1, entry2, entry3]}' '' –