Cita:
Empezado por Soa Pelaez
lo que necesito es que a medida que vaya digitando la variable texto valga lo mismo que escribí en la celda... Es un buen indicio la manera en que lo planteas pero aún falta esa cosa y quedaría como lo necesito.
|
Eso es porque estás revisando el texto en el
OnKeyPress. Antes de que al texto se le agregue el caracter que estás digitando.
Puedes sumar el caracter al texto actual y así obtener el texto completo.
Código Delphi
[-]
procedure TForm3.DBGrid1KeyPress(Sender: TObject; var Key: Char);
var
lStTemp: String;
begin
if (TDBGrid(Sender).SelectedField.FieldName = 'Field1')
and (TDBGrid(Sender).ControlCount > 0)
and (TDBGrid(Sender).Controls[0] is TInplaceEdit)
then
begin
lStTemp := TEdit(TDBGrid(Sender).Controls[0]).Text + Key;
end;
end;
o puedes manejarlo cuando ya el texto está completo en el
OnKeyUp
Código Delphi
[-]
procedure TForm3.DBGrid1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
var
lStTemp: String;
begin
if (TDBGrid(Sender).SelectedField.FieldName = 'Field1')
and (TDBGrid(Sender).ControlCount > 0)
and (TDBGrid(Sender).Controls[0] is TInplaceEdit)
then
begin
lStTemp := TEdit(TDBGrid(Sender).Controls[0]).Text;
end;
end;