I have JavaFx TableView, and want to implement tableView paging display. How to javaFx tableView Implement paging display?
            Asked
            
        
        
            Active
            
        
            Viewed 4,634 times
        
    1 Answers
2
            
            
        You have to use the Pagination control and implement a page factory. The factory is called for every page that should be displayed and you can use its parameter, the pageIndex, to provide a sublist of items to the TableView:
TableView table = ...
private Node createPage(int pageIndex) {
    int fromIndex = pageIndex * rowsPerPage;
    int toIndex = Math.min(fromIndex + rowsPerPage, data.size());
    table.setItems(FXCollections.observableArrayList(data.subList(fromIndex, toIndex)));
    return new BorderPane(table);
}
@Override
public void start(final Stage stage) throws Exception {
    Pagination pagination = new Pagination((data.size() / rowsPerPage + 1), 0);
    pagination.setPageFactory(this::createPage);
    ...
}
A complete runnable example can be found here: https://gist.github.com/timbuethe/7becdc4556225e7c5b7b
PS: I followed jewelsea link to the Oracle JavaFX Forums, and the example is really bad. I wanted to provide an cleaned up example here.
 
    
    
        Tim Büthe
        
- 62,884
- 17
- 92
- 129
