Java,Vaadin 8,延迟加载网格

时间:2017-08-11 10:41:00

标签: java vaadin-grid vaadin8

我正在尝试使用Vaadin 8中的Grid实现延迟加载。但它只显示一个空表。我做错了什么?另外,如何设置要加载的项目数(限制)为20项(默认为40项)?

private Grid<Image> makeLazyTable()
{
  Grid<Image> grid = new Grid<Image>();     
  DataProvider<Image, Void> dataProvider = DataProvider.fromCallbacks(
    query -> {
      int offset = query.getOffset();
      int limit = query.getLimit();        
      OffsetRequest request = new OffsetRequest();
      request.setLimit(limit);
      request.setOffset(offset);  
      List<QuerySortOrder> sort = query.getSortOrders();
      return ImagesRepository.findAll(request, sort);
    },
    query -> ImagesRepository.getImageCount()
  );    
  grid.setDataProvider(dataProvider);     
  return grid;
}

1 个答案:

答案 0 :(得分:1)

我没有添加任何列。这就是桌子空了的原因。 这种方式有效:

Column<Image, String> filenameColumn = grid.addColumn(Image::getFilename);
Column<Image, String> orientationColumn = grid.addColumn(Image::getOrientation);
Column<Image, String> latitudeColumn = grid.addColumn(Image::getLatitude);
Column<Image, String> longitudeColumn = grid.addColumn(Image::getLongitude);