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....