Try handling the CurrentCellValidating event, and checking the value there, and setting e.Canceled = True if the action should be cancelled. You can set the currentcell's ErrorMessage to display a particular message.
private void gridDataBoundGrid2_CurrentCellValidating(object sender, CancelEventArgs e)
{
GridCurrentCell cc = this.gridDataBoundGrid2.CurrentCell;
if(cc.ColIndex == 7)
{
string newValue = cc.Renderer.ControlText;
try
{
double d = double.Parse(newValue);
}
catch
{
cc.ErrorMessage = "Not a double...";
e.Cancel = true;
}
}
}