Dúvida DBGrid

22/06/2008

1

Saudações!


Tenho uma tela que possui um dbgrid e 2 botões (Incluir, Cancelar e Gravar). Quando clico em Incluir, dou um append para criar uma linha em branco para que o usuário possa fazer o cadastro. Pois bem, o dbgrid possui apenas duas colunas, vamos supor que ele desista de gravar, depois de preenche-las, então ele clica no Cancelar, para deletar a linha que foi inserida com as células preenchidas, sem gravar. Aí é que está o problema, não está apagando como se deve.

Já tentei (no cancelar):
dbgrdData.SelectedRows.Clear; ou
dbgrdData.SelectedRows.Delete; ou

dbgrdData.DataSource.DataSet.Cancel;
(Este bateu na trave, o problema é que se eu selecionar algum registro acima, com uma das células já preenchidas, não deleta).

Nesta última situação, acho que não deleta porque estava tentando cancelar uma operação feita na célula que eu cliquei.

Finalizando, preciso cancelar uma linha que eu preenchi os dados e ainda não gravei, essa é uma situação que pode ocorrer, o usuário tem que ter a possibilidade de cancelar aquilo que ele começou a fazer.

FIco no aguardo para sugestões sobre este problema.

[]s


Responder

Posts

22/06/2008

Joaoshi

Colega, utilize o evento [b:061f478f40]BeforePost[/b:061f478f40] do DataSet e faça a verificação.

Ex.:

  if DataSet.State = dsInsert then 
    begin
       if FaltouAlgumaCoisa then ABORT;
     end;


Espero ter ajudado.


Responder

24/06/2008

Roger1976

amigo, desculpe-me pela demora, eu tinha pensado em vários eventos e não me lembrei deste.

Valeu!


Responder
×
+1 DevUP
Acesso diário, +1 DevUP
Parabéns, você está investindo na sua carreira