2016-03-10 2 views
0

Я использую GWT DataGrid с SimplePager, чтобы показать мои данные,GWT DataGrid с SimplePager, Последняя страница Выпуск

Компонент показывает первые страницы правильно, но последняя страница всегда показывает 10 строк (10 = SimplePager. pagesize), даже если у нас осталось менее 10 строк.

AnyOne имеет представление о проблеме yhis?

Thanx.

+0

не могли бы вы показать нам код? –

ответ

0

Раньше я сталкивался с подобной проблемой. Небольшая разница заключается в том, что я использовал Celltable вместо DataGrid.

Проблема возникает из-за известной ошибки gwt, которую вы можете увидеть подробно на its github page. Очевидно, он еще исправлен.

Обходной путь заключается в подклассе SimplePager и создании пользовательского класса пейджера.

import com.google.gwt.user.cellview.client.SimplePager; 
import com.google.gwt.view.client.Range; 

public class CustomPager extends SimplePager { 

public CustomPager() { 
    this.setRangeLimited(true); 
} 

@Override 
public void setPageStart(int index) { 
    if (this.getDisplay() != null) { 
     Range range = this.getDisplay().getVisibleRange(); 
     int pageSize = range.getLength(); 
     index = Math.max(0, index); 
     if (index != range.getStart()) { 
      this.getDisplay().setVisibleRange(index, pageSize); 
     } 
    } 
} 

} 
Смежные вопросы