webForumDet fria alternativet

TStringGrid. Vald rad??

1 svar · 304 visningar · startad av Niclas Ohlsson

Niclas OhlssonMedlem sedan juli 200068 inlägg
#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

SBMedlem 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;
123 ms totalt · 3 externa anrop · v20260731065814-full.0e50b1ef
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
121 ms — hämta tråd, inlägg och bilagor (db)