Right now I often find myself in a situation where I have an edit button on a datagrid that is actually a(n) edit and/or view button depending on what user is logged in. For example an User only has read rights (View) while an admin has edit rights (Edit). I think it is not considered best practice to show a 'Edit' button to a user when he does not have edit rights on that page.
This leaves me with two options:
The best solution in my eyes would be to have the possibility to set a default button for a grid based on the user role. That way you can have a 'edit' button and 'view' button each with their own 'override page title'-value plus conditional visibility while still having the benefit of the is default button option.