hola buenas tardes tengo un pequeño formulario de venta desarrollado en delphi 2010 en el cual listo productos los cuales tienen precio y cantidad y con esto saco el sub total que tambien esta guardado en el stringgrid. y la suma de todos estos sub totales se muestra en un tedit.
Cree un boton para eliminar el producto seleccionado que no quiera vender y al darle click lo saco de la lista
aca tengo los siguientes problemas problemas.
1) si tengo por ejemplo 5 productos cargados en el stringgrid al darle eliminar elimina todos menos el primero
2) partiendo del mismo ejemplo si elimino el producto del medio (supongamos el que esta en la fila 3) se eliminan todos
3) si quiero eliminar el primer producto de la lista se eliminan todos los demas menos este
4) si el item 1) que mencione elimina todo me queda solo 1 fila con un producto que no se elimina y al seguirle dando eliminar el valor del edit se va hasta -x por ejemplo
Este codigo es el que utilize para diseñar el boton
Código Delphi
[-]
var
i:integer;
begin
inherited;
if trim(eTotal.Text)='' then
eTotal.Text:= floattostr (strtofloat(eTotal.Text) - strtofloat(sgDetalle.Cells[4,sgDetalle.Row]));
for i := sgDetalle.Row to sgDetalle.RowCount-2 do
begin
sgDetalle.Rows[i]:= sgDetalle.Rows[i+1] ;
sgDetalle.Rows[sgDetalle.RowCount-1].Clear;
if sgDetalle.RowCount > 2 then
begin
sgDetalle.RowCount:= sgDetalle.RowCount-1;
end;
end;
end;
y tambien dejo el codigo de creacion del stringgrid que este se encuentra en el evento onactivate del formulario
Código Delphi
[-]
begin
eTotal.Text:='0';
sgDetalle.Cells[0,0]:='codigo';
sgDetalle.ColWidths[0]:=90;
sgDetalle.Cells[1,0]:='nombre';
sgDetalle.ColWidths[1]:=320;
sgDetalle.Cells[2,0]:='precio';
sgDetalle.ColWidths[2]:=90;
sgDetalle.Cells[3,0]:='cantidad';
sgDetalle.ColWidths[3]:=90;
sgDetalle.Cells[4,0]:='sub total';
sgDetalle.ColWidths[4]:=90;
end;
espero a ver sido bastante clara con mi problema cualquier cosa que no se entiendan me avisan.
desde ya muchas gracias