JavaFX TableView-Paginator
Verwendung in TableView paginator.?.Für Diese exmple...
public class SampleController implements Initializable {
@FXML private TableView<Student> table;
@FXML private TableColumn<Student, Integer> id;
@FXML private TableColumn<Student, String> name;
@FXML private ObservableList<Student> list = FXCollections.observableArrayList();
// @FXML private Pagination pagination;
//
private StudentSQL ssql = new StudentSQL();
private Stage stage = new Stage();
private String row;
@Override
public void initialize(URL url, ResourceBundle rb) {
id.setCellValueFactory(new PropertyValueFactory<Student, Integer>("id"));
name.setCellValueFactory(new PropertyValueFactory<Student, String>("name"));
list = ssql.students();
table.setItems(list);
}
}
InformationsquelleAutor user2158598 | 2013-03-11
Du musst angemeldet sein, um einen Kommentar abzugeben.
Verwenden Sie den Paginierung Steuerung und Umsetzung einer Seite der Fabrik. Die Fabrik wird aufgerufen für jede Seite angezeigt werden sollen und Sie können die parameter, die pageIndex, um eine Teilliste von Elemente, um die TableView:
Einen kompletten lauffähigen Beispiel kann hier gefunden werden:
https://gist.github.com/timbuethe/7becdc4556225e7c5b7b
Es erscheint mir seltsam, dass createPage gibt ein neues BorderPane. Das macht keinen Sinn für mich, Sie wollen einfach nur, um die Tabelle zu aktualisieren Inhalt.
InformationsquelleAutor Tim Büthe
Hier finden Sie einige Beispielcode für die Integration von TableView mit ein Seitenumbruch-Steuerelement.
Der code stammt von Shakir Quasaroff Antwort auf eine Oracle JavaFX forum Anfrage für eine PaginatedTableView Kontrolle. Der Beispiel-code ist eine Reine Java-Lösung, anstatt ein Java-Code/FXML-hybrid wie in der ursprünglichen Frage.
Sample program output:
Zusätzlich, die Dritte Partei, lgpl lizenziert TiwulFX Bibliothek von Panemu bietet erweiterte Funktionalität für TableView (einschließlich Paginierung).
Nein, die Lösung in dieser Antwort ist nicht fxml-basiert, es ist nicht mit einer Controller-Klasse.
Ich denke, das Beispiel enthält eine Menge unnötiger code und macht unnötige Arbeit. Warum ist die tableView neu für jede Seite? Und warum ist das in einer for-Schleife? Siehe meine Antwort für eine gereinigte version. Nichts für ungut.
Nette Optimierung.Tim.
Ich Liebe Sie. danke
InformationsquelleAutor jewelsea
Entdeckte ich ein kleines problem beim Test der Paginierung erzeugte code in diesem thread. Wenn die Größe der Daten == der Anzahl der Zeilen, die man gesetzt hat, in eine Seite, chaos (innerhalb der Seiten) auftreten würde. In diesem Fall, eine zusätzliche (leere) Seite ist erstellt und die Daten sich weigert zu zeigen, bis auf jeder der Seiten. Ich glaube, dass der folgende Codeausschnitt sollte lösen das Problem (wenn jemand anderes der Begegnung mit dem gleichen problem wie ich). Dieses snippet kommen soll, bevor er erklärte die Paginierung variable.
Hoffe, es hilft!
InformationsquelleAutor cottonman