Bruce,
Do you have code in the grid columns or headers or controls? If you don't then you can simply run a select that will pull the fields for each of the views and let grid reconstruct itself each time they change the view.
>The user is allowed to switch among different "views" of the grid at runtime. If I remove the column object, and then a user chooses that view again, I have to add the column back. My goal was to avoid having to dynamically add and remove columns. There are at least 12 different "views" for this grid, each one displaying a different combination of columns. If the user picked just one and stuck with it, no big deal. But the users will switch views multiple times while the form is up.