掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
リストビューでの数字のソート (ID:78472)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
最近、ちょっと忙しかったので、返事が遅れてしまい、申し訳ございません。 お返事ありがとうございました。 上記の両方を試してみましたが、どちらも思ったよりもうまくいかなかったのと、別の方法を思いついたので、別のやり方で解決をしました。 以下に参考として、僕の行った方法でのソースを載せておきます。 Private Sub lvwList_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader) If ColumnHeader.Index = 1 Then lvwList.Sorted = True sortList (ColumnHeader.Index) Else lvwList.Sorted = False sortNumList End If End Sub Private Sub sortNumList() Dim i As Integer 'index Dim j As Integer 'index Dim li As ListItem 'list item Dim intMin As Double 'minimum value Dim intMax As Double 'maximum value Dim intRemovedRow As Integer 'row number to be removed Dim intCount As Integer 'the number of row listed intCount = lvwList.ListItems.Count If isAsc = False Then For i = 1 To lvwList.ListItems.Count 'Set dammy minimum value intMin = 100000 For j = 1 To intCount 'Check if the item is minimum If lvwList.ListItems(j).SubItems(1) < intMin Then intMin = lvwList.ListItems(j).SubItems(1) intRemovedRow = j End If Next isAsc = True 'Add new list item Set li = lvwList.ListItems.Add(, , lvwList.ListItems(intRemovedRow)) li.SubItems(1) = lvwList.ListItems(intRemovedRow).SubItems(1) 'Remove old list item lvwList.ListItems.Remove (intRemovedRow) intCount = intCount - 1 Next Else For i = 1 To lvwList.ListItems.Count 'Set dammy maximum value intMax = 0 For j = 1 To intCount 'Check if the item is minimum If lvwList.ListItems(j).SubItems(1) > intMax Then intMax = lvwList.ListItems(j).SubItems(1) intRemovedRow = j End If Next isAsc = False 'Add new list item Set li = lvwList.ListItems.Add(, , lvwList.ListItems(intRemovedRow)) li.SubItems(1) = lvwList.ListItems(intRemovedRow).SubItems(1) 'Remove old list item lvwList.ListItems.Remove (intRemovedRow) intCount = intCount - 1 Next End If End Sub Private Sub sortList(ColumnHeaderIndex As Integer) If lvwList.SortKey = ColumnHeaderIndex - 1 Then If lvwList.SortOrder = lvwAscending Then lvwList.SortOrder = lvwDescending Else lvwList.SortOrder = lvwAscending End If Else lvwList.SortKey = ColumnHeaderIndex - 1 lvwList.SortOrder = lvwAscending End If End Sub
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.