Thanks Clay.
Do you have a snippet that shows how to set them one at a time?
>You do not have to use grid.ChangeCells(range, newValue) to set the values in keydown. You can loop through the cells and set them one at the time, checking them before-hand that it is a valid value to put into the cell. You can do whatever validation you need before you set the value into the cell. this would add more work as the ChanegCells call handles this looping process for you. But, if you need to do cell by cell validation, then doing teh looping yourself is an option.
>
>Another option is to put the ChangeCells in a try-catch, and cancel the action if things are bad. In a GridDataBoundGrid, every cell in teh column is of teh same type. So, once you have a bad value to be put into the cell, it will continue to be a bad value for every cell in that column. Here is some code.
>
>try
>{
> this.gridDataBoundGrid1.Model.ChangeCells(range, newValue);
>}
>catch
>{
> cc.Lock();
> MessageBox.Show("Cannot complete...");
> cc.Unlock();
> cc.RejectChanges();
> this.gridDataBoundGrid1.Binder.CancelEdit();
>}
>e.Handled = true;
>