Bekijk de onderstaande video om te zien hoe je onze site als een web app op je startscherm installeert.
Opmerking: Deze functie is mogelijk niet beschikbaar in sommige browsers.
Private Sub RearrangeColumnsByRowNumbers(ByVal FlexGrid As MSFlexGrid, ByVal SortRow As Integer)
Dim Col As Integer, Temp As String
Dim ColumnData() As String
Dim ColumnOrder() As Integer
Dim i As Integer, j As Integer
Dim Num1 As Double, Num2 As Double
' Create arrays to hold column order and column data
ReDim ColumnData(FlexGrid.Cols - 1)
ReDim ColumnOrder(FlexGrid.Cols - 1)
' Populate ColumnOrder and get values from SortRow
For Col = 0 To FlexGrid.Cols - 1
ColumnOrder(Col) = Col
ColumnData(Col) = FlexGrid.TextMatrix(SortRow, Col)
Next Col
' Sort columns based on the numeric value in SortRow using Bubble Sort
For i = LBound(ColumnOrder) To UBound(ColumnOrder) - 1
For j = i + 1 To UBound(ColumnOrder)
Num1 = CDbl(ColumnData(ColumnOrder(i)))
Num2 = CDbl(ColumnData(ColumnOrder(j)))
' Reverse sort direction: Swap if Num1 < Num2
If Num1 < Num2 Then
' Swap column order
Temp = ColumnOrder(i)
ColumnOrder(i) = ColumnOrder(j)
ColumnOrder(j) = Temp
End If
Next j
Next i
' Rearrange columns in the FlexGrid based on sorted ColumnOrder
Dim TempGrid As MSFlexGrid
Set TempGrid = Me.Controls.Add("MSFlexGridLib.MSFlexGrid", "TempGrid")
' Initialize TempGrid
With TempGrid
.Visible = False
.Rows = FlexGrid.Rows
.Cols = FlexGrid.Cols
End With
' Copy data into TempGrid in the new order
For Col = 0 To FlexGrid.Cols - 1
For i = 0 To FlexGrid.Rows - 1
TempGrid.TextMatrix(i, Col) = FlexGrid.TextMatrix(i, ColumnOrder(Col))
Next i
Next Col
' Copy data back from TempGrid to FlexGrid
For Col = 0 To TempGrid.Cols - 1
For i = 0 To TempGrid.Rows - 1
FlexGrid.TextMatrix(i, Col) = TempGrid.TextMatrix(i, Col)
Next i
Next Col
' Clean up
Me.Controls.Remove TempGrid
End Sub
We gebruiken essentiële cookies om deze site te laten werken, en optionele cookies om de ervaring te verbeteren.