2

JavaFx TableView があり、tableView ページング表示を実装したいと考えています。javaFx tableView ページング表示を実装するには?

4

1 に答える 1

2

ページネーションコントロールを使用し、ページ ファクトリを実装する必要があります。ファクトリは、表示する必要があるすべてのページに対して呼び出され、そのパラメーターである pageIndex を使用して、アイテムのサブリストを 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);
    ...
}

完全な実行可能な例は、 https ://gist.github.com/timbuethe/7becdc4556225e7c5b7b にあります。

PS: Oracle JavaFX フォーラムへの jewelsea リンクをたどりましたが、例は本当に悪いです。ここでクリーンアップされた例を提供したいと思いました。

于 2014-08-21T10:24:38.773 に答える