Ver Mensaje Individual
  #8  
Antiguo 24-07-2011
escorpionrojo43 escorpionrojo43 is offline
Miembro
 
Registrado: abr 2010
Posts: 89
Reputación: 17
escorpionrojo43 Va por buen camino
Como Moverlo a la ultima fila?

Cita:
Empezado por ecfisa Ver Mensaje
Hola escorpionrojo43.

Probá de este modo:
Código Delphi [-]
...
type
  TStringGrid = class(Grids.TStringGrid);
  TForm1 = class(TForm)
    StringGrid1: TStringGrid;
    ...
  end;
...
implementation

(* Agrupar y acumular precios por codigo *)
procedure AgruparGrid(StrGrd: TStringGrid);
var
  i,j: Integer;
  v1,v2: Double;
begin
  i:= StrGrd.FixedRows;
  while i < StrGrd.RowCount  do
  begin
    j:= i+1;
    while j < StrGrd.RowCount  do
    begin
      if (StrGrd.Cells[0,i]=StrGrd.Cells[0,j])  // código en columna 0
        and TryStrToFloat(StrGrd.Cells[2,i],v1) and TryStrToFloat(StrGrd.Cells[2,j],v2) then
      begin
        StrGrd.Cells[2,i]:= FloatToStr(v1+v2);
        StrGrd.DeleteRow(j);
      end
      else
        Inc(j);
    end;
    Inc(i);
  end;
end;

(* llamada *)
procedure TForm1.btnAgruparClick(Sender: TObject);
begin
  AgruparGrid(StringGrid1);
end;

Saludos.
Una pregunta mas Amigo mio.
De esta forma me funciona muy bien pero de que manera podria hacer que la agrupaciones se deslicen a la ultima fila y no los agrupe en la primera
Responder Con Cita