I just reproduced your setup with a list view and a button inside the listview. The dataview listens to the listview.
Clicking on the button does refresh the dataview. Be aware that my button does not perform any actions, maybe your button does?
When the action behind the button performs a refresh of the entity that you show in the listview, the list is rebuild and if this is set to select the first row, no change is shown in the dataview as the first row is selected again after the button click. Maybe this is the same in your case?