?? listview如何按數字大小排序.txt
字號:
ListView默 認 是 按 照 文 字 排 序 , 如 果 要 按 照 數 值 排 序 , 一 個 是 將 Sorted屬 性 設 為 False, 而 自 己 編 寫 一 個 排 序 程 序 做 這 件 事 。 另 一 個 辦 法 是 利 用 Windows API的 LVM_SORTITEMS消 息 來 指 定 自 己 的 一 個 比 較 大 小 的 函 數 來 取 代 ListView默 認 的 函 數 。
<END>
在 點 擊 數 字 列 頭 的 事 件 中 ,首 先 將 數 字 變 一 下 格 式 ,將 列 的 內 容 變 為 :format(列 的 內 容 ,"000000000000"), 再 將 listview控 件 的 索 引 值 設 為 TRUE,最 后 將 列 的 內 容 改 回 來 val(列 的 內 容 )。
'在 form上 加 listview1控 件 ,view值 設 為 3,加 上 下 面 一 段 程 序
Private Sub Form_Load()
ListView1.ColumnHeaders.Add , , "Size"
For i = 1 To 100
ListView1.ListItems.Add , , Int(Rnd * 10000)
Next
End Sub
Private Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
Dim i As Integer
ListView1.SortKey = ColumnHeader.Index - 1
'以 下 是 按 SIZE排 序 的 程 序
If ColumnHeader.Text = "Size" Then
For i = 1 To ListView1.ListItems.Count
ListView1.ListItems(i).Text = Format(ListView1.ListItems(i).Text, "000000000000")
Next
If ListView1.SortOrder = lvwDescending Then
ListView1.SortOrder = lvwAscending
Else
ListView1.SortOrder = lvwDescending
End If
ListView1.Sorted = True
For i = 1 To ListView1.ListItems.Count
ListView1.ListItems(i).Text = Val(ListView1.ListItems(i).Text)
Next
End If
End Sub
<END>
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -