DRJEROME
Messages postés436Date d'inscriptionjeudi 9 janvier 2003StatutMembreDernière intervention 5 février 2015 21 nov. 2005 à 21:54
<HR>
procedure DeleteRow(SG:TStringGrid;Row:integer);
var
i:integer;
begin
if (SG.RowCount-1>Row) and (Row>0) and (SG.RowCount>1) then
begin
for i:=Row+1 to SG.RowCount-1 do SG.Rows[i-1].Assign(SG.Rows[i]);
SG.RowCount:=SG.RowCount-1;
end;
end;
<HR>
N'oubliez pas de cliquer sur Réponse acceptée si c'est OK
Abadianet
Messages postés40Date d'inscriptionmercredi 2 novembre 2005StatutMembreDernière intervention19 juin 20061 21 nov. 2005 à 21:58
Bonsoir,
A ma connaissance tu n'as de méthode pour supprimer une ligne.
Tu dois écraser la ligne courante par la suivante, puis la suivante par celle d'après, ainsi de suite et en fin décremnter la propriété RowCount
for i := Row to RowCount - 2 do
for j := 0 to ColCount - 1 do
Cells[j, i] := Cells[j, i + 1];
Dec(RowCount);
var
Form1: TForm1;
LigneASupprimer:integer;
implementation
{$R *.DFM}
procedure Tform1.SupprimerLigne(Sg: TStringGrid;Ligne:integer);
var
i,j: Integer;
begin
with sg do
begin
for i := Ligne to RowCount - 2 do
Rows[i] := Rows[i + 1];
RowCount := RowCount - 1;
end
end;
procedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
ARow: Integer; var CanSelect: Boolean);
begin
//déterminer la ligne a supprimer
LigneASupprimer:=ARow;
end;
procedure TForm1.StringGrid1DblClick(Sender: TObject);
begin