grid.Binder.EndEdit is the proper method to call to get rid of the pencil.
The problem is that with a checkbox cell, CurrentCellCahanged is fired before the Binder.BeginEdit call that puts the pencil in place. So, the pencil is appearing after your code is hit in CurrentCellChanged. So, it is being turned off before it is turned on.
I looked around for a convenient event that woul doccur after the pencil is shown, an ddid not see one.
So, as a not to elegent solution, you could add a timer, and enbled it is CurrentCellChanged, and then turn off the pencil in the tick event.
private void gridDataBoundGrid1_CurrentCellChanged(object sender, System.EventArgs e)
{
//checkboxcell
if(this.gridDataBoundGrid1.CurrentCell.ColIndex == 1)
{
this.timer1.Interval = 30;
this.timer1.Enabled = true;
}
}
private void timer1_Tick(object sender, System.EventArgs e)
{
this.timer1.Enabled = false;
this.gridDataBoundGrid1.Binder.EndEdit();
}