Is your question how can your user be able to resize a column so it is visible if you have set its colwidth = 0?
If so, you can set things up so if the user double clicks the border where the hidden column is, the column would reappear. You can use the colssizing event to handle this.
private void gridControl1_ResizingColumns(object sender, GridResizingColumnsEventArgs e)
{
if(e.Reason == GridResizeCellsReason.DoubleClick
&& e.Columns.Right < this.gridControl1.ColCount
&& this.gridControl1.ColWidths[e.Columns.Right+1] == 0
)
{
this.gridControl1.ColWidths[e.Columns.Right+1] = this.gridControl1.DefaultColWidth;
e.Cancel = true;
}
}