Cita:
Empezado por jafera
...si pongo un valor por ejemplo 'a' no e lo borra, se queda el cursor en el campo pero con el valor no válido.
Si pongo el valor 's' no hace el uppercase para convertirlo a 'S'
|
Si, por que si no te desplazas en el DBGrid para que guarde los cambios no se dispara el evento
BeforePost. Para lo que buscas tendrías que usar el evento
OnKeyPress del
TDBGrid.
Código Delphi
[-]
procedure TF_ModulDades.DBGrid1KeyPress(Sender: TObject; var Key: Char);
begin
if ((Sender as TDBGrid).SelectedField.FieldName = 'Nombre_del_Campo') and (UpCase(Key) in ['N','S']) then
Key:= UpCase(Key)
else
Key:= #0;
end;
Saludos.