Dúvida DBGrid

22/06/2008

0

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


Roger1976

Roger1976

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

Que tal ter acesso a um e-book gratuito que vai te ajudar muito nesse momento decisivo?

Ver ebook

Recomendado pra quem ainda não iniciou o estudos.

Eu quero
Ver ebook

Recomendado para quem está passando por dificuldades nessa etapa inicial

Eu quero

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar