Another thing we are going to end up coding ourselves is a button that will popup a window that will let the user check which columns that would like to hide or show with checkboxes, and perhaps an up and down arrow to rearrange the order. We have something like 20 or so columns, so its nice having a single place to arrange and configure it all.
A decent example is like how windows does the columns in the explorer.
http://i.imgur.com/p6DC66c.png