QueryAllowDragColumn works fine; so I am now able to supress the move.
However; TableModel.ColsMoved is never called
I have set the following options:
_grid.TableModel.Options.ControllerOptions = GridControllerOptions.DragColumnHeader ^ GridControllerOptions.DragSelectRowOrColumn;
Am I missing something?
Note I am using the grid grouping control.
>Hi Sameer,
Thanks for your interest in Syncfusion products.
To handle column header dragging the ControllerOptions property has to be set to DragColumnHeader.
this.gridControl1.ControllerOptions = GridControllerOptions.DragColumnHeader;
To prevent a column from being dragged, QueryAllowDragColumnHeader event has to be handled.
this.gridControl1.QueryAllowDragColumnHeader += new GridQueryDragColumnHeaderEventHandler(gridControl1_QueryAllowDragColumnHeader);
void gridControl1_QueryAllowDragColumnHeader(object sender, GridQueryDragColumnHeaderEventArgs e)
{
if (e.Column == 3)
e.AllowDrag = false;
}
To prevent a column from being dropped with other column, ColsMoving event has to be handled.
private void gridControl1_ColsMoving(object sender, Syncfusion.Windows.Forms.Grid.GridRangeMovingEventArgs e)
{
if(e.Target == 3)
{
e.Cancel = true;
this.gridControl1.Cols.MoveRange(e.From,1,e.From);
}
}
Please refer to the following sample that implements this.
http://websamples.syncfusion.com//samples/Grid.Windows/F50159.zipRegards,
Rajadurai