public int CompareTo(object obj)
        {
            ColumnProperties column = obj as ColumnProperties;

            if (column == null)
            {
                return(0);
            }
            if (visibleIndex < 0 && column.VisibleIndex >= 0)
            {
                return(1);
            }
            if (visibleIndex >= 0 && column.VisibleIndex < 0)
            {
                return(-1);
            }
            if (visibleIndex < 0 && column.VisibleIndex < 0)
            {
                return(Caption.CompareTo(column.Caption));
            }
            if (VisibleIndex > column.VisibleIndex)
            {
                return(1);
            }
            else if (VisibleIndex < column.VisibleIndex)
            {
                return(-1);
            }
            else
            {
                return(0);
            }
        }
 protected internal virtual void AcceptQuickHide()
 {
     foreach (GridColumn col in Columns)
     {
         ColumnProperties cp = hideEdit.Properties.Columns[col.ToString()];
         if (cp == null)
         {
             continue;
         }
         col.VisibleIndex = cp.VisibleIndex;
         col.Visible      = cp.Visible;
     }
 }