Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Daten in Stringgrid makieren (https://www.delphipraxis.net/71529-daten-stringgrid-makieren.html)

Crishnu 16. Jun 2006 12:52


Daten in Stringgrid makieren
 
Hi

Ich habe ein stringgrid Feld mit Daten drin, mit einem
Spinbutton kann man den makierten Datensatz hoch oder runter schieben.
Mein problem ist, dass die Makierung mit verschoben werden soll, sodass man
die entsprechenden Daten auch schnell um mehrere Stellen verschieben kann.

Ich bin hier auch schon fündig geworden:

Delphi-Quellcode:
StringGrid1.Selection := TGridRect(Rect(StringGrid1.FixedCols,
                                        2,
                                        StringGrid1.ColCount-1,
                                        2));
So wandert die Makierung mit der on selectcell prozedur von delphi arbeite,
muss man extra nochmal auf die Zelle draufklicken um sie zu verschieben.

Gibts dafür irgendeine Lösunf?

MFG

Hawkeye219 16. Jun 2006 13:57

Re: Daten in Stringgrid makieren
 
Hallo Crishnu,

hier ein wenig Code:

Delphi-Quellcode:
procedure MoveGridRow (aGrid: TStringGrid; aDirection: Integer);
  var i : integer;
begin
  with aGrid do
    // Plausibilitätstest
    if ((Abs(aDirection) = 1) and
        ((aDirection < 0) and (Row > FixedRows)) or
        ((aDirection > 0) and (Row < RowCount - 1))) then
      begin
        // Daten verschieben
        for i := FixedCols to ColCount - 1 do
          Cols[i].Exchange (Row, Row + aDirection);
        // Markierung verschieben
        Row := Row + aDirection;
        Selection := TGridRect(Rect(FixedCols, Row, ColCount - 1, Row));
      end;
end;

procedure TForm1.SpinButton1DownClick(Sender: TObject);
begin
  MoveGridRow (Grid, +1);
end;

procedure TForm1.SpinButton1UpClick(Sender: TObject);
begin
  MoveGridRow (Grid, -1);
end;
Gruß Hawkeye

Crishnu 16. Jun 2006 13:58

Re: Daten in Stringgrid makieren
 
Super, geht 1a, Danke

MFG


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:27 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