I have this common issue, as it appears to be. My table view wont refresh my items after I reset them. I have checked the data and it’s the new one.
I tried multiple solution from internet but no success.
Can’t reset all the columns because it adds one empty one extra (dont know why) and the resize just breakes.
My table is not editable. The new data is changed.
The data is refreshed if I change the ordering of the items and the rows change (:|).
I’m just left without ideas.
At the moment the refresh code is pretty simple.
ObservableList<User> data = FXCollections.observableArrayList(User.getResellers());
reseller_table.setItems(data);
Again the new data is correct. When I make an selection to the tableView it returns the new correct Item.
I had a similar problem with refreshing. My solution was to restrict the operations on the
ObservableListto those which work correctly withbind().Assume
ObservableList obsListis the underlying list for theTableView.Then
obsList.clear()(inherited fromjava.util.List<>) will not update theTableViewcorrectly but.Also calling
setItem(obsList)did not work to trigger a refresh…but…obsList.removeAll(obsList)(overwritten byObservableList) works fine because it fires the changeEvent correctly.Refilling a list with completely new content then works as follows:
obsList.removeAll(obsList);obsList.add(...); //e.g. in a loop...or
obsList.removeAll(obsList);FXCollections.copy(obsList, someSourceList)