User ability to change column order

In a table view and possibly some other views, allow the user to click and drag a column heading so the user can choose the order they would like to see the columns in.