Hi Dave,
Yes I can see what you are after here.
After a quick google for "JavaFX TableView refresh" it appears that this is a common problem, There appear to be a few 'fixes' one of which you can't use as you are changing the type of object in the row which would use Properties.
You can see in the code that I've tried a different method of removing all of the rows and re-adding them which doesn't seem to work either. Which is a shame as it would probably have been smoother than the one that does work.
The third option which currently runs in the attached does work, although there is a visible delay as it set's each column invisible then visible, and you may have to run it again when you remove the TextFields and replace them with string objects
Not perfect, but working. Perhaps someone else has a tidier solution.
Sorry I can't help more.