![]() |
StrinGrid letzte Zeile sichtbar
Hi leutz,
wie bringt man ein StrinGrid dazu, wenn die Liste schon Scrollbalken anzeigt, immer die letzte Zeile zu markieren. Oder noch besser, wie kehrt man ein Stringgrid um, so dass die letzte Zeile oben und die erste unten ist? Grüße Privateer3000 |
Re: StrinGrid letzte Zeile sichtbar
Zitat:
Delphi-Quellcode:
Grid1.Row := Grid1.RowCount - 1;
Zitat:
Ansonsten viel Erfolg! Jürgen |
Re: StrinGrid letzte Zeile sichtbar
Dankeschön
Ja schieb mal bitte so ein Teil hoch. Kann es mir ja mal angucken. Danke nochmal |
Re: StrinGrid letzte Zeile sichtbar
einen kleinen schönheitsfehler gibts dabei.
die letzte Zeile wird exakt markiert wird aber nicht ins sichtfeld geschoben. Es muss also wieder gescrollt werden. |
Re: StrinGrid letzte Zeile sichtbar
Zitat:
Delphi-Quellcode:
Bei mir klappt das so; wegen der Indizierung musst Du in manchen Situationen evtl. noch +1 oder -1 anfügen.
Grid1.TopRow := Grid1.RowCount - Grid1.VisibleRowCount;
Zitat:
Delphi-Quellcode:
Wenn die erste Spalte nicht oder die erste Zeile ebenfalls sortiert werden soll, sind die Grenzen 0/1 in den Schleifen zu ändern.
procedure TForm1.Button2Click(Sender: TObject);
var x1, x2: integer; sListe: TStringList; // als Zwischenspeicher begin sListe := TStringList.Create; try // alle Spalten nacheinander bearbeiten for x2 := 0 to sg.ColCount-1 do begin // Zwischenspeicher leeren sListe.Clear; // alle Zellen von unten nach oben in den Zwischenspeicher kopieren for x1 := sg.RowCount-1 downto 1 do sListe.Add(sg.Cells[x2,x1]); // alle Zellen von oben nach unten aus dem Zwischenspeicher kopieren for x1 := 1 to sg.RowCount-1 do sg.Cells[x2,x1] := sListe[x1-1]; end; finally sListe.Free; end; end; Ich hoffe, es hilft. Jürgen Nachtrag: Zitat:
![]() 2.Nachtrag: TStringGrid.VisibleRowCount habe ich aus Delphi 5. Ich habe jetzt mal in Delphi 2005 VCL nachgesehen - vergeblich?! |
Re: StrinGrid letzte Zeile sichtbar
Danke funktioniert spitze.
visiblerowcount kannte ich ja nun garnicht :-) vielen Dank ich teste mal den code schnipsel |
Re: StrinGrid letzte Zeile sichtbar
Hallo,
hier ein eine weitere Version. Sie basiert auf Jürgens Idee, arbeitet aber ohne Zwischenspeicher:
Delphi-Quellcode:
Gruß Hawkeye
procedure FlipGrid (aGrid: TStringGrid);
var k, iCol : Integer; begin with aGrid do for k := 0 to Pred((RowCount - FixedRows) div 2) do for iCol := FixedCols to Pred(ColCount) do Cols[iCol].Exchange (FixedCols + k, Pred(RowCount) - k); end; |
Re: StrinGrid letzte Zeile sichtbar
prima danke!
wie funktioniert bzw. passiert bei diesem beispiel? Ich finde "excange" nirgends von einem grid abgeleitet. Wechselt dies Schritt für Schritt oder alles auf einmal. danke leutz |
Re: StrinGrid letzte Zeile sichtbar
![]() ![]() Gruß Hawkeye |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:57 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz