Rubrik: Controls · MSFlexGrid/DataGrid | VB-Versionen: VB4, VB5, VB6 | 12.12.03 |
Spalten im MSFlexGrid einfügen Wie man im MSFlexGrid-Control zusätzliche Spalten zwischen bestehenden Spalten einfügt, das erfahren Sie hier. | ||
Autor: Zardoz | Bewertung: | Views: 13.801 |
ohne Homepage | System: Win9x, WinNT, Win2k, WinXP, Win7, Win8, Win10, Win11 | Beispielprojekt auf CD |
Über die Cols-Eigenschaft legt man bekanntlich die Anzahl der Spalten im MSFlexGrid-Control fest. Benötigt man im Nachhinein noch eine zusätzliche Spalte erhöht man einfach die Cols-Eigenschaft um den Wert 1. Leider wird die neue Spalte jetzt immer am Ende eingefügt.
Wie man eine oder auch mehrere Spalten zwischen bereits bestehenden Spalten einfügen kann, das verrät Ihnen nachfolgender Tipp.
Public Sub MSFlexGrid_InsertCol( _ Grid As MSFlexGrid, _ ByVal nInsertPos As Integer, _ Optional ByVal nCols As Integer = 1) Dim i As Long With Grid ' zunächst die neuen Spalten ' hinten anfügen .Cols = .Cols + nCols ' Jetzt die Spalten "verschieben" For i = .Cols - 1 To nInsertPos + nCols Step -1 .ColPosition(i - nCols) = i Next i End With End Sub
Beispiel:
Erstellen Sie ein neues Projekt und platzieren auf die Form ein MSFlexGrid-Control, sowie einen CommandButton. Fügen Sie obige Prozedur und nachfolgenden Code in das Codefenster der Form ein:
Option Explicit Private Sub Form_Load() Dim i As Integer With MSFlexGrid1 ' 100 Zeilen, 5 Spalten .Rows = 100 .Cols = 5 ' Zellen der 3. Zeile "beschriften" For i = 1 To .Cols - 1 .TextMatrix(3, i) = "Spalte" + CStr(i) Next i End With End Sub
Private Sub Command1_Click() ' 2 neue Spalten an Position 2 einfügen MSFlexGrid_InsertCol MSFlexGrid1, 2, 2 End Sub