[リストへもどる]
一括表示

投稿時間:2004/06/23(Wed) 11:22
投稿者名:Rs
Eメール:
URL :
タイトル:
MSFlexGridでの複雑なソート
いつもお世話になっております。
現在MSFlexGridを使用して売上表を作っているのですが、ソートで
わからない点が発生しましてアドバイス頂ければと思っております。
コードで見てもらった方がわかりやすいと思いますので載せます。

    'MSFlexGrid の初期設定
    With MSFlexGrid1
        .Rows = 2                   '行の総数(固定行含む)
        .Cols = 7                   '列の総数(固定列含む)
        .FixedRows = 1              '固定行の数
        .FixedCols = 1              '固定列の数
        .Row = 0
        
        .ColWidth(0) = 500
        .ColWidth(1) = 3310
        .ColWidth(2) = 1385
        .ColWidth(3) = 3310
        .ColWidth(4) = 1385
        .ColWidth(5) = 3310
        .ColWidth(6) = 1385
        
        .RowHeight(0) = 350         '行の高さ
        .Col = 1: .Text = "A社"
        .CellAlignment = flexAlignCenterCenter
        .Col = 2: .Text = "売上金額"
        .CellAlignment = flexAlignCenterCenter
        .Col = 3: .Text = "B社"
        .CellAlignment = flexAlignCenterCenter
        .Col = 4: .Text = "売上金額"
        .CellAlignment = flexAlignCenterCenter
        .Col = 5: .Text = "C社"
        .CellAlignment = flexAlignCenterCenter
        .Col = 6: .Text = "売上金額"
        .CellAlignment = flexAlignCenterCenter
        .Col = 0
        For lngCountI = 1 To .Rows - 1
            .RowHeight(lngCountI) = 350     '行の高さ
            .Row = lngCountI
        Next lngCountI
    End with

1,3,5列目には商品名、2,4,6には売上金額が表示されている状況です。
1つのMSFlexGridで3社の料金を表示している為、通常のソートを
使用すると指定した一社の「商品名」と「金額」はソートされますが
他の2社の順番がめちゃくちゃにソートされてしまいます。
そこで1,2列目のみでソート、3,4列目のみでソートと列を指定して
ソートすることは可能でしょうか?他にもなにかいい方法がありましたら
ご指導頂きたいのですが、宜しくお願いします。

投稿時間:2004/06/23(Wed) 11:30
投稿者名:nobu
Eメール:
URL :
タイトル:
Re: MSFlexGridでの複雑なソート
> そこで1,2列目のみでソート、3,4列目のみでソートと列を指定して

1,2列目のみを結合したセル及び
3,4列目のみを結合したセルを新たに作成しておき
(表示させたく無いなら幅をゼロ)
ソートボタンなどで処理を振り分けたらどうでしょう。

投稿時間:2004/06/23(Wed) 11:54
投稿者名:花ちゃん
Eメール:
URL :http://www.bcap.co.jp/hanafusa/ypcs/
タイトル:
Re: MSFlexGridでの複雑なソート
>そこで1,2列目のみでソート、3,4列目のみでソートと列を指定して
>ソートすることは可能でしょうか?

上記がExcelでいう優先されるキーに該当するような並び替えなら
試してはいませんが、ここのデーターを並び替え(ソート)する
(複数列をキーに並び替える等4方法) (No.4) の方法でできるかと思います

又、少し処理速度が遅くなりますが、カスタムソート といった方法もあります

掲示板の #6818 からの一連のスレッドも参考になるかと思います。

A社・B社・C社 それぞれの売り上げ金額順で並び変えたいのなら根本的に表を
作り直す必要があるかと思います。

投稿時間:2004/06/23(Wed) 13:05
投稿者名:Rs
Eメール:
URL :
タイトル:
Re^2: MSFlexGridでの複雑なソート
nobuさん、花ちゃんさんレスありがとうございます。

>上記がExcelでいう優先されるキーに該当するような並び替えなら
>試してはいませんが、ここのデーターを並び替え(ソート)する
>(複数列をキーに並び替える等4方法) (No.4) の方法でできるかと思います
>又、少し処理速度が遅くなりますが、カスタムソート といった方法もあります
>掲示板の #6818 からの一連のスレッドも参考になるかと思います。

参考にさせて頂きます。

>A社・B社・C社 それぞれの売り上げ金額順で並び変えたいのなら根本的に表を
>作り直す必要があるかと思います。

私も根本的にこの形では無理かなぁ〜と考えていました。
初めから見直して考えて見ます。
ありがとうございました。