2016-05-06 54 views
0
在TableView中另一行

假设,我想实现在JavaFX中TableView中的数据验证。如何防止选择JavaFX中

一旦用户在该行中已经改变的数据,我想检查一下当用户试图改变当前的行号。一旦数据正确,我想允许行更改,一旦数据不正确,我想禁止这个。

如何实现这个?

目前,我试图添加监听

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

但任何操作中它会导致不良表视图行为。使用

Platform.runLater 

使情况更好,但仍不完善。

有一个方便的地方,执行行数据验证,并根据它执行不同的操作?

+0

不知道确切的答案可以在不知道你在你的听众不断变化的给予,但我发现,有时候改变选择指数前添加'#TableView中修复layout'故障的图形(显示为选中一行,而另一个实际上是被改变等) – Itai

回答

2

您可以编写能够锁定自己的选择模型(如果当前值是无效)。在这种情况下,模型不会更改内部选定的索引。