Rubrik: Controls · MSFlexGrid/DataGrid | VB-Versionen: VB4, VB5, VB6 | 19.03.04 |
Spalten im MSFlexGrid tauschen Das Vertauschen zweier Spalten im MSFlexGrid-Control ist gar nicht schwer :-) | ||
Autor: Dieter Otter | Bewertung: | Views: 12.529 |
www.tools4vb.de | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Wie lassen sich im Microsoft FlexGrid zwei Spalten miteinander tauschen?
Manch einer meint jetzt:
"Eigentlich müsste man ja nur eine dritte Spalte erstellen, dann den Inhalt der zweiten in diese verschieben, dann den der dritten in den der ersten und dann die dritte wieder löschen."
Das wäre zwar eine Möglichkeit, aber keine, die einen so richtig zufrieden stellt.
Es geht aber auch schneller!
Schaut man sich die Eigenschaften des FlexGrid-Controls genauer an, entdeckt man u.a. die Eigenschaft ColPosition. Mit Hilfe dieser Eigenschaft lassen sich die Spalten beliebig neu anordnen.
Beispiel:
' Spalte 1 und 2 miteinander tauschen MSFlexGrid1.ColPosition(2) = 1
' Spalte 1 mit Spalte 3 taischen MSFlexGrid1.ColPosition(3) = 1 MSFlexGrid1.ColPosition(2) = 3
' Spalte 2 mit Spalte 5 tauschen MSFlexGrid1.ColPosition(5) = 2 MSFlexGrid1.ColPosition(3) = 5
Die Vorgehensweise ist hierbei wie folgt:
Zunächst wird die Spalte 5 der Position 2 zugewiesen. Dadurch verschieben sich alle bisherigen Spalten ab Spalte 2 um 1 Position nach rechts, d.h. die Spalte 2 befindet sich von jetzt an an Position 3. Damit die ursprüngliche Spalte 2 an 5. Position angezeigt wird, muss man demnach die Spalte 3 (= ursprünglich Spalte 2) der Position 5 zuweisen.