There are many ways to refresh the page or grid, but the issue is once the page reload you will loose the selected view and CRM will load the Default View, instead of the user selected view. And if you want to keep the user selected view even after the Grid is refreshed, You can call the below java script inside your 'ribbon button click' after doing your actions, and before function ends.
grid = window.parent.frames('contentIFrame').document.getElementById('crmGrid'); grid.Refresh();