2016-05-06 14 views
0

JavaFX TableViewでデータ検証を実装したいとします。JavaFXのTableViewで別の行を選択しないようにする方法

ユーザーが行のデータを変更したら、ユーザーが現在の行番号を変更しようとしているときに確認したいと思います。データが正しければ、私は行の変更を許可したい、一度データが間違っている、私はこれを拒否したい。

これを実装する方法は?

現在、私はそれが悪いテーブルビュー行動を起こすの内側にリスナー

getSelectionModel().selectedIndexProperty().addListener(indexFromTableToModel); 

が、すべての操作に追加しようとしています。使用:

Platform.runLater 

は状況を改善しますが、まだ不完全です。

行データの検証を実行し、それに応じて異なる操作を行うのに便利な場所はありますか?

+0

リスナーで何を変更しているかわからずに正確な答えが得られるかどうかわかりませんが、選択したインデックス修正グラフィカルグリッチを変更する前に 'TableView#layout'を追加することがあります。 、等) – Itai

答えて

2

ロック可能な独自の選択モデルを作成できます(現在の値が無効な場合)。その場合、モデルは内部選択インデックスを変更しません。

関連する問題