Marcar e desmarcar no Dbgrid

Delphi

02/11/2010

Pessoal preciso de uma ajuda
No meu Grid tem um campo ATIVO aonde marco com um X quais registros quero baixar,  quando vou marcando ele vai somando numa boa mas quando começo a desmarcar ele se perde, conforme nas imagens abaixo, na imagem 1 marquei duas opção, na imagem 2 desmarquei a ultima opção, ai ele fica negativo o que ocorre o problema, porque quando marco novamente ele entende que negativo com positivo diminui, meu código esta abaixo para darem uma olhada por favor. Obrigado


procedure TFDevolucao.DBGrid1CellClick(Column: TColumn);
begin
 if not CDS_Devol_Fin.IsEmpty then
  begin
   if Column.FieldName = 'ATIVO' Then
    begin
     CDS_Devol_Fin.Edit;
    if CDS_Devol_FinATIVO.AsString = 'X' then
     CDS_Devol_FinATIVO.AsString := ''
    else CDS_Devol_FinATIVO.AsString := 'X';
      if CDS_Devol_FinATIVO.AsString = 'X' then
        Edit_total.AsInteger := (CDS_Devol_FinVALOR.AsInteger + Edit_total.AsInteger)
      else
        Edit_total.AsInteger := (CDS_Devol_FinVALOR.AsInteger - Edit_total.AsInteger);
     CDS_Devol_Fin.Post;
    end;
  end;
end;

Fabianoluizdb

Fabianoluizdb

Curtidas 0

Respostas

Fabianoluizdb

Fabianoluizdb

02/11/2010

Pessoal, que descuido meu, não vi aonde estava o erro, estava na nessa linha
Edit_total.AsInteger := (CDS_Devol_FinVALOR.AsInteger - Edit_total.AsInteger) era só inverter os campos que estam dentro do parenteses e ficou assim.
Edit_total.AsInteger := (Edit_total.AsInteger - CDS_Devol_FinVALOR.AsInteger);
Fica o codigo para caso alguem precise.

Valeu
GOSTEI 0
POSTAR