Vaadin 8 网格分页
Vaadin 8 Grid Pagination
我正在尝试为 Vaadin 8 Grid 实现类似于 table 的分页。
我尝试使用附加组件 https://vaadin.com/directory#!addon/pagination,但它不适用于 Vaadin 8 Grid。有没有人尝试过实施分页?
我正在使用如下所示的 Java 网格 API :-
msgGrid = new Grid();
if (input != null) {
msgGrid.setItems(input);
}
msgGrid.setColumnReorderingAllowed(true);
msgGrid.setHeaderVisible(true);
msgGrid.setResponsive(true);
msgGrid.setRowHeight(25);
感谢您分享一些信息。
TIA
我们已经在我们的 Vaadin8 项目中使用了这个特定的插件,没有任何问题。
这是一个示例代码:
Grid<Sample> datagrid;
Pagination pagination;
datagrid = new Grid<>();
...
PaginationResource paginationResource = PaginationResource.newBuilder().setPage(1).setLimit(limit).build();
pagination = new Pagination(paginationResource);
pagination.setItemsPerPage(10, 20, 50, 100);
pagination.addPageChangeListener( event -> onPageChange(event.fromIndex(), event.toIndex()) );
/**
MyResultSet is a structure containing
- a list of <Sample> beans (accessible by getList())
- a integer with the total number of records (accessible by getTotalnumber())
*/
private void onPageChange(int fromIndex, int toIndex) {
MyResultSet data = loadSampleRecords(fromIndex, toIndex);
this.pagination.setTotalCount( data.getTotalnumber() );
this.datagrid.setItems( data.getList() );
this.datagrid.getDataProvider().refreshAll();
this.datagrid.scrollToStart();
}
我正在尝试为 Vaadin 8 Grid 实现类似于 table 的分页。 我尝试使用附加组件 https://vaadin.com/directory#!addon/pagination,但它不适用于 Vaadin 8 Grid。有没有人尝试过实施分页? 我正在使用如下所示的 Java 网格 API :-
msgGrid = new Grid();
if (input != null) {
msgGrid.setItems(input);
}
msgGrid.setColumnReorderingAllowed(true);
msgGrid.setHeaderVisible(true);
msgGrid.setResponsive(true);
msgGrid.setRowHeight(25);
感谢您分享一些信息。 TIA
我们已经在我们的 Vaadin8 项目中使用了这个特定的插件,没有任何问题。 这是一个示例代码:
Grid<Sample> datagrid;
Pagination pagination;
datagrid = new Grid<>();
...
PaginationResource paginationResource = PaginationResource.newBuilder().setPage(1).setLimit(limit).build();
pagination = new Pagination(paginationResource);
pagination.setItemsPerPage(10, 20, 50, 100);
pagination.addPageChangeListener( event -> onPageChange(event.fromIndex(), event.toIndex()) );
/**
MyResultSet is a structure containing
- a list of <Sample> beans (accessible by getList())
- a integer with the total number of records (accessible by getTotalnumber())
*/
private void onPageChange(int fromIndex, int toIndex) {
MyResultSet data = loadSampleRecords(fromIndex, toIndex);
this.pagination.setTotalCount( data.getTotalnumber() );
this.datagrid.setItems( data.getList() );
this.datagrid.getDataProvider().refreshAll();
this.datagrid.scrollToStart();
}