Home » Tipps & Tricks » Komponenten » TStringGrid » Unteres Ende eines StringGrid anzeigen

Unteres Ende eines StringGrid anzeigen

Ein StringGrid wird standardmäßig so angezeigt, dass immer die oberste Zeile sichtbar ist. Aber besonders, wenn ein StringGrid mehr Zeilen enthält als angezeigt werden können, will man gelegentlich, dass bei der ersten Anzeige z.B. das untere Ende der Tabelle angezeigt wird statt des oberen.Die Eigenschaft TopRow legt fest, welches die oberste Zeile der Anzeige ist.

  StringGrid1.TopRow:=StringGrid1.RowCount-1;

Dieser Code bewirkt, dass die letzte Zeile am oberen Rand der Komponente angezeigt wird. Danach folgt Leerraum.Will man dagegen eine Anzeige, wie man sie durch Scrollen mit der Scrollbar erreicht hätte (also dass die letzte Zeile am unteren Rand der Komponente zu sehen ist), muss man ausrechnen, welches dann die oberste Zele (TopRow) ist. Dazu muss man zunächst ermitteln, wie viele Zeilen auf einmal in der Komponente angezeigt werden (zeilenzahl).

 
var zeilenzahl: integer;
begin
  zeilenzahl:=StringGrid1.Height div StringGrid1.DefaultRowHeight;
  StringGrid1.TopRow:=StringGrid1.RowCount-zeilenzahl;

Dieses Beispiel funktioniert nur, wenn alle Zeilen gleich hoch sind. Wenn die Zeilen unterschiedliche Höhen haben, muss mit RowHeights[index] gearbeitet werden.