Javafx Java FX 8 Tablecell数据到Listview所选数据

Javafx Java FX 8 Tablecell数据到Listview所选数据,javafx,javafx-8,Javafx,Javafx 8,我有一个带列的JavaFXTableView。此列预先填充了数据库中的值。当我单击表格上的某个单元格时,会显示listview,我可以通过从列表中选择值来更新表格单元格和DB listView.getSelectionModel().select(this.getItem()); 在显示listview之前,我通过以下方式将列表的选定值设置为与现有表格单元格的值相匹配 listView.getSelectionModel().select(this.getItem()); listView.

我有一个带列的JavaFXTableView。此列预先填充了数据库中的值。当我单击表格上的某个单元格时,会显示listview,我可以通过从列表中选择值来更新表格单元格和DB

listView.getSelectionModel().select(this.getItem());
在显示listview之前,我通过以下方式将列表的选定值设置为与现有表格单元格的值相匹配

listView.getSelectionModel().select(this.getItem());
listView.getSelectionModel().select(this.getItem());
当列表视图打开时,所选项目对应于表的单元格值

listView.getSelectionModel().select(this.getItem());
我有一个onchangelistener附加到listview的selectedItemProperty

listView.getSelectionModel().select(this.getItem());
从这个列表视图中,如果我选择了一个新值,当选择更改时,DB将被更新,表格单元格将被更新为新值

listView.getSelectionModel().select(this.getItem());
如果数据库更新有问题,listview的selected ItemProperty仍保留新选择的值

listView.getSelectionModel().select(this.getItem());
我已尝试使用重置它

listView.getSelectionModel().select(this.getItem());
但这不会重置selectedItemProperty值

listView.getSelectionModel().select(this.getItem());
因此,如果再次单击同一单元格,列表将突出显示先前选定的值(即由于DB故障而未更新的值)。表单元格和listview中的选定值不同

listView.getSelectionModel().select(this.getItem());

如何克服此问题?

您可以使用listView.getSelectionModel().clearSelection()首先使用select。
listView.getSelectionModel().select(this.getItem());