travando linha grid enquanto edita

Delphi

06/07/2005

quero editar dados na grid + mas quero impedir que ele mude de linha quando teclar ou mesmo via mouse.

atualmente abro uma janelinha apenas com os campos a digitar. + se for direto na grid fica bem mais prático e bonito


valeu


Jonnymarques

Jonnymarques

Curtidas 0

Respostas

Araujojunior

Araujojunior

06/07/2005

quero editar dados na grid + mas quero impedir que ele mude de linha quando teclar ou mesmo via mouse. atualmente abro uma janelinha apenas com os campos a digitar. + se for direto na grid fica bem mais prático e bonito valeu

Verifica se está readonly := False (Grid) e AutoEdit :=True (DataSource)


GOSTEI 0
Jairroberto

Jairroberto

06/07/2005

Olá, Jonny!

Você não foi muito claro, mas se o que você está querendo é obrigar o usuário a apertar um botão para confirmar uma alteração no DBGrid, impedindo que ele use as setas para cima e para baixo ou o mouse para fazer isso basta o seguinte:

1. Crie uma variável privada do tipo Boolean no formulário;
2. Impeça que o usuário dê Post na tabela vinculada ao DBGrid se a variável criada for ´False´;
3. Mude o valor da variável para ´True´ e dê Post na tabela no evento OnClick do botão.


TForm1 = class(TForm)
...
  procedure Table1BeforePost(DataSet: TDataSet);
  procedure TForm1.btnConfirmarClick(Sender: TObject);
private
  ClicouConfirmar: Boolean;
...
end;

procedure TForm1.Table1BeforePost(DataSet: TDataSet);
begin
  if not ClicouConfirmar then
    SysUtils.Abort;
end;

procedure TForm1.btnConfirmarClick(Sender: TObject);
begin
  ClicouConfirmar := True;
  try
    Table1.Post;
  finally
    ClicouConfirmar := False;
  end;
end;


Um abraço,
Jair


GOSTEI 0
Araujojunior

Araujojunior

06/07/2005

Desculpe amigo, interpretei sua pergunta de forma errada.


GOSTEI 0
POSTAR