tagCANDY CGI VBレスキュー(花ちゃん)の Visual Basic 6.0用 掲示板 [ツリー表示へ]   [Home]
一括表示(VB6.0)
タイトルフレックスグリッドについて教えてください。
記事No11946
投稿日: 2008/04/01(Tue) 12:01
投稿者らら
フレックスグリッドについて。現在、非表示項目を全て前列に移動し列固定をFixedColsで
行っています。
ユーザーが自由に列を入れ替える事ができるため、表示項目・非表示項目が混在していると
列の入れ替えを行いEXCEL出力する際に、本来表示されるべき項目が表示されなくなってしまうので
上記のような処理を加えたのですが・・・
ただ画面によってはボタンによる表示項目・非表示項目の切り替えが行われており
今までのように非表示項目が固定ではありません。
今回のケースのような非表示項目が動的に変わる場合、どのように対応すれば良いのでしょう?

[ツリー表示へ]
タイトルRe: フレックスグリッドについて教えてください。
記事No11947
投稿日: 2008/04/01(Tue) 14:24
投稿者リル
> フレックスグリッドについて。現在、非表示項目を全て前列に移動し列固定をFixedColsで
> 行っています。
> ユーザーが自由に列を入れ替える事ができるため、表示項目・非表示項目が混在していると
> 列の入れ替えを行いEXCEL出力する際に、本来表示されるべき項目が表示されなくなってしまうので
> 上記のような処理を加えたのですが・・・
> ただ画面によってはボタンによる表示項目・非表示項目の切り替えが行われており
> 今までのように非表示項目が固定ではありません。
> 今回のケースのような非表示項目が動的に変わる場合、どのように対応すれば良いのでしょう?

非表示項目とされたデータを前列の表示項目と入れ替えて列幅0にし、FixedColsをセット(非表示項目数分)
といった処理をすればいいのではないでしょうか?

列の入れ替えは下記のような処理で行えますし。
例(2列目と5列目の入れ替え)
    Dim strData As String
    Dim lCnt As Long
    
    With MSFlexGrid1
        For lCnt = 0 To .Rows - 1
            'データ退避
            strData = .TextMatrix(lCnt, 5)
            'データ移動
            .TextMatrix(lCnt, 5) = .TextMatrix(lCnt, 2)
            '退避データを移す
            .TextMatrix(lCnt, 2) = strData
        Next i
    End With

[ツリー表示へ]
タイトルRe^2: フレックスグリッドについて教えてください。
記事No11949
投稿日: 2008/04/01(Tue) 14:56
投稿者らら
なるほどっ!!

ありがとうございます。
参考にさせて頂きます。

[ツリー表示へ]