private void gridDataBoundGrid1_CurrentCellValidateString(object sender, GridCurrentCellValidateStringEventArgs e)
{
GridCurrentCell cc = this.gridDataBoundGrid1.CurrentCell;
int col = this.gridDataBoundGrid1.Binder.NameToColIndex("Col1");
if(cc.ColIndex == col)
{
GridComboBoxCellRenderer cr = cc.Renderer as GridComboBoxCellRenderer;
int selstart = cr.TextBox.SelectionStart;
int sellen = cr.TextBox.SelectionLength;
cr.Control.Text = e.Text.ToUpper();
cr.TextBox.SelectionStart = selstart;
cr.TextBox.SelectionLength = sellen;
}
}
this.gridDataBoundGrid1.ActivateCurrentCellBehavior = GridCellActivateAction.SetCurrent;
you can avoid this problem. If you do not want to use this SetCurrent property, then you can try handling grid.KeyDown.
private void gridDataBoundGrid1_KeyDown(object sender, KeyEventArgs e)
{
GridCurrentCell cc = this.gridDataBoundGrid1.CurrentCell;
if(!cc.IsEditing)
cc.BeginEdit();
}