Deaktivieren Sie die Zeile Auswahl in TableView
Ich habe einen nur-lese-TableView in JavaFX 8 und ich will nicht' die Benutzer, um Zeilen auszuwählen.
Sie sollten noch in der Lage sein, um die Spalten Sortieren und Blättern, einfach nicht zu wählen Sie alle Zeilen.
Wie kann ich das erreichen?
technisch gesehen, könnte man null das selectionModel - könnte die navigation deaktivieren, aber (kann nicht mal sofort). Auch, kopieren nicht möglich wäre. Neugierig: warum willst du detoriate user experience?
Einstellung der SelectionModel auf null werfen Ausnahmen, wenn der Benutzer sortiert die Spalten.
gut zu wissen, danke für die info 🙂 Klingt nach einem bug für mich (null selectionModel ist ein Gültiger Wert), so reichte ein Problem: javafx-jira.kenai.com/browse/RT-39624
Einstellung der SelectionModel auf null werfen Ausnahmen, wenn der Benutzer sortiert die Spalten.
gut zu wissen, danke für die info 🙂 Klingt nach einem bug für mich (null selectionModel ist ein Gültiger Wert), so reichte ein Problem: javafx-jira.kenai.com/browse/RT-39624
InformationsquelleAutor BioRoy | 2014-12-08
Du musst angemeldet sein, um einen Kommentar abzugeben.
Nach einer Weile habe ich gefunden wie es zu lösen, so posten Sie hier, für zukünftige Nutzer.
Die Lösung basiert auf diese Antwort:
JavaFX8 - Entfernen Sie die Hervorhebung der ausgewählten Zeile
Nach dem hinzufügen der folgenden Zeilen in Ihre css, ausgewählten Linien sehen genau wie die anderen Linien, erreichen den gleichen Effekt, den ich wollte, an der gleichen Stelle:
InformationsquelleAutor BioRoy
Können Sie deaktivieren Sie die Auswahl, indem Sie die Einstellung
selectionModel
zunull
.Die Sortierung funktionierte einwandfrei.
Es wirft für mich mit ListView mit JavaFX 8, alle Möglichkeiten, um zu deaktivieren Auswahl?
TableView.java Methode: sort(), Zeile 1531, ruft getSelectionModel().startAtomic(); diese Antwort führt zu einer nullpointerexception
InformationsquelleAutor user3224416
Habe ich einfach auf dieses Problem mich. Ich denke, der beste Weg, es zu lösen ist, um einen null-Umsetzung von TableViewSelectionModel.
Dann können Sie einfach sagen
tableView.setSelectionModel(new NullTableViewSelectionModel(tableView));
Einer Probe null Umsetzung ist unten...
isEmpty()
sollte true zurückgeben, IMHO.Ich mag diesen Ansatz, aber ich sehe noch einen (focus?) Rechteck, wenn ich auf der
TableView
.InformationsquelleAutor Phil Anderson
Fand ich hier eine andere Lösung für das gleiche problem, aber für ein ListView. Das Muster ist: hören Sie die Auswahl "change" - Ereignis, und deaktivieren Sie dann die Auswahl. Es funktioniert auch für die TableView.
Code-Beispiel:
InformationsquelleAutor tino