The user might click with the mouse on a different TableView row or use the up/down arrow keys to go to a different row. However the current row may be 'invalid' and I want to effectively stop the row change happening. I'm looking for a 'validate' or a 'veto' method somewhere. I understand that a workaround might be to observe the row change and immediately put the selected row back to where it was before - at the invalid row. Probably this workaround is the only answer. If so what is the best approach?
By the way the TableView itself is not used for any editing - it is a view-only control.