2016-08-11 192 views
0

通過鼠標單擊在JavaFx中選擇一行tableview後,選擇不會保留。JavaFx TableView行丟失選擇高亮

在關於這一點,我想帶它注意到表格正在更新中,列值在圖像基於數據庫中的值輸出圖像正在更新。

在更新和更新值之後,I 無法在我選擇的特定行上保持選擇高亮顯示。

每當我選擇一行時,我可以通過使用tableview.getSelectedModel.getSelectedItem()來獲得選定的值,但選擇不會保留在所選行上。

+0

你可以創建一個[MCVE]來演示問題嗎?否則,每個人都只是盲目地猜測你在代碼中做了什麼,導致這種情況發生。 –

+0

@James_D:已上傳視頻,請檢查是否有幫助。上面貼出了視頻的鏈接。感謝名單.. – Arijit

回答

1

您可能希望在所有值更新後以編程方式在TableView中選擇一行。參考這個問題關於如何選擇一個行。
Select row in Javafx Tableview

下面是如何將這個應用到您的情況的例子。

tableView.getSelectionModel().selectedIndexProperty().addListener(e->{ 
    int selectedRow = tableView.getSelectionModel().getSelectedIndex(); 
    //... do all the updating and all that fun stuff. 
    tableView.requestFocus(); 
    tableView.getSelectionModel().select(selectedRow); 
    tableView.getFocusModel().focus(selectedRow); 
}); 
1

您是否刪除舊項目然後添加新項目? 如果你是,那可能會導致你看到的效果。 在FX數據更新的情況下,您可以更新項目中的屬性,並且不需要從支持該表的ObservableList中刪除項目。 但是請確保該項目是從FX線程更新而不是任何其他線程。