TStringGrid. Vald rad??

Programmering

1 svar · 322 visningar · startad av Niclas Ohlsson

Medlem sedan juli 200068 inlägg
Trådstart#1

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

Medlem sedan maj 2000194 inlägg
#2

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;
253 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
117 ms — deklarationer (db)
0 ms — hämta statistik (cache)
131 ms — hämta tråd, inlägg och bilagor (db)
118 ms — ändringar (db)