掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
FlexGridでソートのキーを複数設定できますか? (ID:79525)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
未だによく分かりません。メニューでソート列を決定するとして、どうして 1 → 3 列になるのでしょう? また、表示されたサンプルは、1 → 3 → 2 です。説明と合っていません。 FlexGrid で複数列をソートする場合、逆順の指定でソートするのが基本的な手法です。なので、それを説明したのですが、こちらで試してみると、確かにうまくいきません。どうもソートを、シェーカーソートかなにかでしているようで、直前のソートが一部崩れてしまいます。 なのでサンプルにあるようにソートするには、Sort = 9 のカスタムを使うことになると思います。 何をしているかは、ヘルプとコードから読みとってください。 Private Sub cmdSort_Click() MSHFlexGrid1.Sort = 9 End Sub Private Sub MSHFlexGrid1_Compare(ByVal Row1 As Long, ByVal Row2 As Long, Cmp As Integer) Dim sRow1 As String Dim sRow2 As String With MSHFlexGrid1 sRow1 = .TextMatrix(Row1, 1) & .TextMatrix(Row1, 3) & .TextMatrix(Row1, 2) sRow2 = .TextMatrix(Row2, 1) & .TextMatrix(Row2, 3) & .TextMatrix(Row2, 2) Cmp = StrComp(sRow1, sRow2) End With End Sub
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.