MSFlexGridで列をクリックしたら並び替えを行うには?


新撰組  2004-07-22 17:12:30  No: 84719  IP: [192.*.*.*]

MSFlexGridで列の一番上をクリックすると並び替えができるように
(アウトルックで受信日時や送信先で並びかえれるみたいな感じ)
したいのですが、方法としてはクリックイベントで.Rowがゼロの時を
見て、それにあわせて表を再表示させるしかないのでしょうか。

ちなみに表のデータはCSVファイルを呼んで表示させています。

プロパティか何かで簡単にできるようでしたら教えてください。
宜しくお願いします。

環境はWindows2000でVB6SP5です。

編集 削除
nanashi  2004-07-23 11:06:23  No: 84720  IP: [192.*.*.*]

再表示ってかSortプロパティがあります。
それじゃダメですか?

編集 削除
コンボ  2004-07-23 13:41:46  No: 84721  IP: [192.*.*.*]

私がよく使うのはコマンドボタンを配置しますね。それにフラグを立てれば外見はアウトルックみたいになりますよ。

編集 削除
花ちゃん  2004-07-24 16:13:39  No: 84722  IP: [192.*.*.*]

下記ではだめですか?
Private Sub MSHFlexGrid1_Click()
    With MSHFlexGrid1
        If .Col = 0 And .Row = 1 And .MouseRow = 0 Then
            If .TextMatrix(0, 0) = "項目名    ▲" Then
               .TextMatrix(0, 0) = "項目名    ▼"
               .Sort = 7        'flexSortGenericAscending
            Else
               .TextMatrix(0, 0) = "項目名    ▲"
               .Sort = 8        'flexSortGenericDescending
            End If
        End If

        '以下同様に必要な列だけ追加

    End With
End Sub

編集 削除
サム  2004-07-25 20:45:40  No: 84723  IP: [192.*.*.*]

Grid操作は
  挿入、行入れ替え、行追加、行挿入すべて再表示でやっていますが
まったく’スピード的にも無問題です。

編集 削除