Fórum Edição de dados num DbGrid #357010
11/04/2008
0
Saudações,
Tenho um form onde há um DbGrid que é prenchido com registro e há um processo em que o usuário deverá digitar uma informação.
Durante testes, percebi que se após digitar um valor, teclar-se uma tecla de movimento (setas) ou Page Up/Down ocorre um erro de estouro de pilha ´stack overflow´ e o sistema ´quebra´.
Pra corrigir este problema, estou usando o seguinte código no evento OnKeyDown do DbGrid:
[i:624a9b2ecf]
if (Sender as TDBGrid).DataSource.DataSet.State in [dsEdit] then
begin
if not (Key in [VK_RETURN, VK_TAB]) then
Key := 0;
end;
[/i:624a9b2ecf]
Pergunto como vocês tratam este problema. Se há uma forma melhor de se fazer isso.
Tenho um form onde há um DbGrid que é prenchido com registro e há um processo em que o usuário deverá digitar uma informação.
Durante testes, percebi que se após digitar um valor, teclar-se uma tecla de movimento (setas) ou Page Up/Down ocorre um erro de estouro de pilha ´stack overflow´ e o sistema ´quebra´.
Pra corrigir este problema, estou usando o seguinte código no evento OnKeyDown do DbGrid:
[i:624a9b2ecf]
if (Sender as TDBGrid).DataSource.DataSet.State in [dsEdit] then
begin
if not (Key in [VK_RETURN, VK_TAB]) then
Key := 0;
end;
[/i:624a9b2ecf]
Pergunto como vocês tratam este problema. Se há uma forma melhor de se fazer isso.
Luciano.badoe
Curtir tópico
+ 0
Responder
Posts
11/04/2008
Steve_narancic
provavelmente vc esta chamando uma rotina que chama a mesma rotina, colocando o sistema em uma espécie de loop infinito.
tipo no afterpost do dataset vc chamar novamente o post deste dataset.
tipo no afterpost do dataset vc chamar novamente o post deste dataset.
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)