Zum Hauptinhalt springen

Editing and Refreshing

In ChatGPT öffnen

Das Bearbeiten von Daten innerhalb der Table erfolgt über die Interaktion mit dem Repository, das die Daten für die Table enthält. Das Repository fungiert als Brücke zwischen der Table und dem zugrunde liegenden Datensatz und bietet Methoden zum Abrufen, Ändern und Aktualisieren von Daten. Unten steht ein Beispiel, das das Verhalten implementiert, um den "Titel" einer gewünschten Zeile zu bearbeiten.

Code anzeigen

Im obigen Beispiel erleichtert die Klasse TitleEditorComponent das Bearbeiten des "Titel"-Feldes für einen ausgewählten MusicRecord. Die Komponente umfasst ein Eingabefeld für den neuen Titel sowie "Speichern"- und "Abbrechen"-Schaltflächen.

Um die Bearbeitungskomponente mit der Table zu verbinden, wird über einen VoidElementRenderer eine "Editieren"-Schaltfläche zur Table hinzugefügt. Ein Klick auf diese Schaltfläche löst die Methode edit() der TitleEditorComponent aus, sodass Benutzer den "Titel"-Wert ändern können.

Commit-Methode

Sobald der Benutzer den Titel ändert und auf die Schaltfläche "Speichern" klickt, löst die TitleEditorComponent die Methode save() aus. Diese Methode aktualisiert den Titel des entsprechenden MusicRecord und dispatcht ein benutzerdefiniertes SaveEvent.

Das Echtzeit-Update der Daten im Repository wird durch die Methode commit() erreicht. Diese Methode wird innerhalb des onSave-Ereignislisteners verwendet, um sicherzustellen, dass die durch die Bearbeitungskomponente vorgenommenen Änderungen im zugrunde liegenden Datensatz widergespiegelt werden.

Die commit()-Methode wird aufgerufen, um alle interessierten Komponenten zu benachrichtigen, dass die Daten geändert wurden. Die Table erfasst das RepositoryCommitEvent und aktualisiert sich basierend auf den neuen Daten.

Aktualisieren und Erstellen von Einträgen

Der Aufruf der Methode commit() aktualisiert sowohl vorhandene Einträge als auch fügt alle neuen Einträge hinzu, die erstellt wurden.