Jag har en TStringGrid som har 7st Kolumner på varje rad. När man klickar på en rad så markeras hela denna rad.
Hur gör man för att få fram vilken rad man har klickat på?
Eller hur man tar bort hela den raden från TSG??
/Niclas
1 svar · 304 visningar · startad av Niclas Ohlsson
Jag har en TStringGrid som har 7st Kolumner på varje rad. När man klickar på en rad så markeras hela denna rad.
Hur gör man för att få fram vilken rad man har klickat på?
Eller hur man tar bort hela den raden från TSG??
/Niclas
Här är ett exempel för att ta bort den markerade raden i din StringGrid. Här kommer först proceduren för att radera hela raden:
procedure TForm1.DeleteRow(StringGrid1: TStringGrid; ARow: Integer);
var i, j: Integer;
begin
with StringGrid1 do
begin
for i := ARow to RowCount-2 do
for j := 0 to ColCount-1 do
Cells[j, i] := Cells[j, i+1];
RowCount := RowCount - 1
end;
end;
Ta reda på vilket radnummer som är markerat med hjälp av nedanstående procedur:
procedure TForm1.StringGrid1Click(Sender: TObject);
var
j, TopCell : Integer;
BottomCell: Integer;
begin
TopCell := StringGrid1.Selection.Top;
BottomCell := StringGrid1.Selection.Bottom;
for j := TopCell to BottomCell do begin;
DeleteRow(StringGrid1,j)
end;
end;