Hi Ping,
If I understand correctly, the fundamental problem is that your 'listen to' data view has a button showing even when nothing is selected in your data grid. This is compounded by the fact that the 'Confirmation Button' popup does not have the visibility controls of other Mendix widgets. To solve your problem, try the following:
1) put the Confirmation Button widget inside a 'Container' page object
2) open up the Visible configuration menu on the Container settings
3) use the 'based on expression' option to determine visibility
4) Use the expression: $currentObject != empty
This will hide the entire container until an object is selected.