Einzelnen Beitrag anzeigen

Jerry

Registriert seit: 24. Feb 2005
Ort: Schweiz/Thurgau
138 Beiträge
 
Delphi 2010 Professional
 
#1

TadvStringGrid / Spalte von User setzen lassen

  Alt 17. Nov 2005, 15:59
Hallo zusammen

Wer kennt sich mit der Komponente TAdvStringGrid aus?

Folgende Frage:

Ich habe 4 Spalten:

Spalte1 Spalte2 Spalte3 Spalte4

In den jeweiligen Zellen sind fixe Werte eingetragen, die bei Bedarf in andere Felder ausgelesen werden. Jetzt möchte ich dem User die Möglichkeit geben die Spalten nach seinen Wünschen anzuordnen.

Jetzt ist z.B: der Aufbau der 4 Spalten so:

Spalte4 Spalte3 Spalte2 Spalte1

Da jetzt aber bei Bedarf aufgrund dieser Spalten andere Felder gefüllt werden habe ich die Ursprungsreihenfolge nicht mehr.

Gibt es bei dieser Komponente einen entsprechenden Trick?

Ich habe nach langem Suchen folgenden Code gefunden:
Gemäss Hilfetext sollte der folgendes machen:

property UnSortedCells[i, j: Integer]: string;

Description

Allows access to cell content as if the cells were not moved by the sort.
It is required that InitSortXRef is called before doing the sort in order to use UnSortedCells.

Delphi-Quellcode:
procedure TForm1.Button4Click(Sender: TObject);
begin
  AdvStringGrid1.InitSortXRef;
  edit1.Text := AdvStringGrid1.UnSortedCells[0,1];
  edit2.Text := AdvStringGrid1.UnSortedCells[1,1];
  edit3.Text := AdvStringGrid1.UnSortedCells[2,1];
  edit4.Text := AdvStringGrid1.UnSortedCells[3,1];
  edit5.Text := AdvStringGrid1.UnSortedCells[4,1];}
end;
Dieser Code macht aber das selbe wie dieser Code:
Delphi-Quellcode:
procedure TForm1.Button3Click(Sender: TObject);
begin
    //
    edit1.Text := AdvStringGrid1.Cells[0,1];
    edit2.Text := AdvStringGrid1.Cells[1,1];
    edit3.Text := AdvStringGrid1.Cells[2,1];
    edit4.Text := AdvStringGrid1.Cells[3,1];
    edit5.Text := AdvStringGrid1.Cells[4,1];
end;
Was ist den jetzt der Unterschied, oder bin ich hier grundsätzlich auf dem falschen Weg?

Danke schon allen für Eure Lösungsansätze....
  Mit Zitat antworten Zitat