Mudança de linha no dbgrid

Delphi

10/06/2011

Boa tarde antes de mais nada gostaria de citar que este tópico pode ser uma continuação do tópico : https://www.devmedia.com.br/forum/delphi/402828-Problema-com-calculo-de-colunas-no-dbgrid.html ;, onde por empolgação  coloquei como concluído, mas ainda tenho alguns problemas.
Como citado no topico acima estou inserindo dados atraves de um dbgrid, ele so mostra a soma depois que dou ENTER no campo TOTAL_VALE e ja vai pra proxima linha do dbgrid, se eu tentar salvar assim ele da erro pois estou tentando salvar um registro sem dados, e se eu salvar sem dar ENTER no campo TOTAL_VALE salva legal, mas não atualiza o campo aggregate.
Estou usando isso no onkeydown do dbgrid :
case Key of    vk_return: // Enter pelo Tab      begin        with DBGrid2 do        begin          if SelectedIndex = Columns.Count - 1 then // Se o item atual do DbGrid não for o último campo          begin            if cdsMovVale.eof then//              cdsMovVale.Insert               cdsMovVale.Append            else            begin              cdsMovVale.next;            end;
            // se for o ultimo registro insere um novo,            // caso contrario ele passa para o proximo registro            SelectedIndex := 0;            // Posiciona na primeira celula          end          else            SelectedIndex := SelectedIndex + 1;          // Se nao estive na ultima celula passa a proxima        end;
      end;
Agradeço desde já
Alexandre

Alexandre Torres

Alexandre Torres

Curtidas 0

Respostas

Nigro

Nigro

10/06/2011

Bom dia. Nesse caso seria mesmo uma questão de conceitos, para mim, inputar dados pelo DBGrid seria inviável, mas se você preferir assi, aconselho fazer todas as validações nos eventos do seu dataset.
GOSTEI 0
Alexandre Torres

Alexandre Torres

10/06/2011

Bom dia Nigro,
sobre as validações realmente estou fazendo as mudanças para as validações no dataset, mas ainda assim fico com o problema citado no post, que é quando estou inserindo o inten ou itens ele sempre pula pra proxima linha do dbgrid, impossibilitando assim salvar o registro pois ele cria um novo registro em branco e da erro na minha validação, e se eu não der enter no meu último campo que é o valor total ele não soma mu campo agreggate.
Tem alguma idéia pra isso?

Agradeço desde já,

Alexandre
GOSTEI 0
José

José

10/06/2011

Este tópico esta sendo fechado por inatividade. Se necessário, sinalizar para que seja reaberto ou abrir um novo.
GOSTEI 0
POSTAR