If I select several cells in 3.0.1.0, and then press delete with DirectSaveCellInfo = true, then the chnages seem to go directly to the datatable.
But if I have a single cell selected (and not editing), then presseing delete clears the cell, and puts it into edit mode without settingthe changed value in the datatable. The reason is thatthe cell is still editing at this point. If you do not want this behavior, then one way to handl ethis is to derive the grid and override OnCurrentCellControlKeyMessage and end the editing on teh current cell after calling the baseclass. Here is a derived grid that worked for me.
public class MyGridDataBoundGrid : GridDataBoundGrid
{
protected override void OnCurrentCellControlKeyMessage(GridCurrentCellControlKeyMessageEventArgs e)
{
Keys keyCode = (Keys) ((int)e.Msg.WParam) & Keys.KeyCode;
base.OnCurrentCellControlKeyMessage (e);
if(keyCode == Keys.Delete && this.CurrentCell.Renderer.ControlText.Length == 0)
this.CurrentCell.EndEdit();
}
}