MSFlexGrid強制整行實現表頭排序(雙向)
'******************************************** ' MSF lexGrid在強制整行選擇的情況下實現表頭排序 ' '功能:在單擊表頭時根據當前列進行排序,再次單 '擊反序排列。單擊數據區域時進行整行選擇 ' '2005-09-21 FieldMAX '*********************************
'********************************************
'
MSFlexGrid在強制整行選擇的情況下實現表頭排序
'
'功能:在單擊表頭時根據當前列進行排序,再次單
' 擊反序排列。單擊數據區域時進行整行選擇
'
'2005-09-21 FieldMAX
'********************************************
Private Sub Form_Load()
'創建一個8*8的MSFlexGrid并在其中填入隨機數
Dim i As Long
Dim j As Long
MSFlexGrid1.Rows = 8
MSFlexGrid1.Cols = 8
MSFlexGrid1.FormatString = "|A|B|C|D|E|F|G"
For i = 0 To 7
MSFlexGrid1.ColWidth(i) = 615
Next
For i = 1 To 7
MSFlexGrid1.TextMatrix(i, 0) = i
For j = 1 To 7
MSFlexGrid1.TextMatrix(i, j) = Int(Rnd * 1000)
n = n + 1
Next
Next
End Sub
Private Sub MSFlexGrid1_MouseDown(Button As Integer, Shift As Integer, x As Single, y As Single)
'在MSFlexGrid的實際應用中經常需要強制整行選并且還需要排序功能,
'但是由于MSFlexGrid本身的
缺陷,在正常情況下是無法實現兩者兼得的。
'唯一的變通方法就是使用MouseDown或MouseUp事件獨有的"X","Y"坐標來
'確定點擊的列,再進行排序。
'這個排序程序已經經過修改,可以實現升序和降序兩種排序同時存在。
Dim i As Long
Dim j As Long
Dim Cw As Long
'如果Y坐標點擊的是表頭區域
If y < MSFlexGrid1.RowHeight(0) Then
Cw = 0
'用循環語句判斷X在那一列,I代表列數
For i = 0 To MSFlexGrid1.Cols - 1
Cw = Cw + MSFlexGrid1.ColWidth(i)
If x < Cw Then Exit For
Next
If i < MSFlexGrid1.Cols Then
'↑
If Left(MSFlexGrid1.TextMatrix(0, i), 1) <> "↓" Then
For j = 0 To 7
If Left(MSFlexGrid1.TextMatrix(0, j), 1) = "↓" Or Left(MSFlexGrid1.TextMatrix(0, j), 1) = "↑" Then MSFlexGrid1.TextMatrix(0, j) = Mid(MSFlexGrid1.TextMatrix(0, j), 2)
Next
MSFlexGrid1.Col = i '定位列坐標
MSFlexGrid1.Sort = 1 '進行升序排列
MSFlexGrid1.TextMatrix(0, i) = "↓" & MSFlexGrid1.TextMatrix(0, i)
Else
For j = 0 To 7
If Left(MSFlexGrid1.TextMatrix(0, j), 1) = "↓" Or Left(MSFlexGrid1.TextMatrix(0, j), 1) = "↑" Then MSFlexGrid1.TextMatrix(0, j) = Mid(MSFlexGrid1.TextMatrix(0, j), 2)
Next
MSFlexGrid1.Col = i '定位列坐標
MSFlexGrid1.Sort = 2 '進行升序排列
MSFlexGrid1.TextMatrix(0, i) = "↑" & MSFlexGrid1.TextMatrix(0, i)
End If
End If
End If
End Sub
原文轉自:http://www.anti-gravitydesign.com
国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97
|