I think the simplest way to do this is to derive the grid and override OnDragOver.
public class MyGridControl : GridControl
{
protected override void OnDragOver(DragEventArgs drgevent)
{
base.OnDragOver (drgevent);
int row, col;
Point pt = this.PointToClient(new Point(drgevent.X, drgevent.Y));
if(this.PointToRowCol(pt, out row, out col))
{//dont drop in col 2
if(col == 2)
{
drgevent.Effect = DragDropEffects.None;
}
}
}
}