Ver Mensaje Individual
  #1  
Antiguo 22-01-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Reputación: 22
enecumene Va por buen camino
Problema con ClientDataSet y Resta

Hola compañeros del foro, estoy teniendo problemas con un borrado de datos en un clientDataSet y una resta con los valores mostrasdos en un DBGRid conectado al clientdataset, tengo lo siguiente:

para el borrado de un dato especifico del clientdataset:

Código Delphi [-]
procedure TFFacturar.DBGrid1KeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
if Key = VK_DELETE then
  begin
    dsFactDetalle.DataSet.Delete;  
    if ClientDataSet1.RecordCount > 0 then
    begin
       Total.Text := FLoatToStr(StrToFloat(Total.Text) - ClientDataSet1.Fields[9].AsInteger);
    end;
    if ClientDataSet1.IsEmpty then
      begin
        Total.Text := '0.00';
      end;
  end;
end;

el problema esta en esta linea:

Código Delphi [-]
Total.Text := FLoatToStr(StrToFloat(Total.Text) - ClientDataSet1.Fields[9].AsInteger);

los valores lo muestro en un edit, y el problema que me da es que no me resta los valores correcto, por ejemplo, en el DBGrid, la primera linea tiene un valor de 12 pesos, y las demas lineas son de 24, 36, el edit tiene un valor de 72 pesos, selecciono en el grid la linea con valor 24 por ejemplo, la borro, entonces en el edit me deberia resta 24-72 no?, pues no, siempre me resta el valor de la primera linea que es 12, a que se debe eso?.

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita