Raji,
When you design a grid, you have an option in UIEditor to make a column invisible. The user can later, at execute time, right-click on the grid header and un-hide a hidden column. There is no way to hide a column back this way, though. This method would solve your problem only partially.
Another thing you can do is to use YourGrid.HideColumn FieldName, Hide dynamically from your CB code to hide/show grid columns.
Keep in mind, that regardless of whether a column is visible or not, it is populated with a value when the underlying contextual object is filled.
Marek @ Dovetail Software