Como impedir que o usuario adicone novas linhas no DBGrid!

Delphi

23/07/2003

Bom dia pessoal tenho um DBGrid que tem duas colunas.

A 1º Coluna [Parcela]
A 2º Coluna [Qtd de Dias]

Também tenho um processo no sistema que aciona automaticamente as parcelas, porem a 2º coluna Qtd de Dias fica livre para que o usuário informe a Qtd de dias necessária para a condição e a primeira fica com RedOline: = True...

Meu problema e: Se o usuário adicionar 2 parcelas o sistema colocara no DBGrid assim:

Parcela Qtd de dias
1
2

e então ele colocaria os dias para cada parcela porem se ele pressionar a tecla Tab ou se movimentar para baixo um novo registro e adicionado e este processo eu não quero que ocorra.

E claro que ele tem que se movimentar no DBGrid com Tab ou outra tecla que lhe proporcione a movimentação, o que eu não quero mesmo e que ele adicione um novo registro.

Então alguém sabe como eu evito que o usuário consiga adicionar um novo registro?


Rodrigo Ferreira

Rodrigo Ferreira

Curtidas 0

Respostas

Mikemurussi

Mikemurussi

23/07/2003

No evento BeforeInsert da tabela, coloque ´Abort´. Quando o seu programa precisar adicionar os dados, desligue o evento e ligue imediatamente após.

Ex.:

procedure TForm.XXXX;
begin
SuaTabela.BeforeInsert := nil;
try
// efetue as incluões aqui ...
finally
SuaTabela.BeforeInsert := SuaTabelaBeforeInsert;
end;
end;

procedure TForm.SuaTabelaBeforeInsert(DataSet: TDataSet);
begin
Abort; // aborta a inclusão de um novo registro
end;

Espero ter judado....

[url]www.murussi.com.br[/url]


GOSTEI 0
POSTAR