VB6.0用掲示板の過去のログ(No.2)−VBレスキュー(花ちゃん)
[記事リスト] [新規投稿] [新着記事] [ワード検索] [管理用]

投稿日: 2005/09/07(Wed) 11:09
投稿者kmx80
Eメール
URL
タイトルRe: MSHFlexGridの複数行削除

こんな感じでどうでしょうか。
Doループの開始が、現在の選択行になっているので削除対象の先頭からにしました。
iをカレント行の変数・ループカウンタにしてます。
以下のままだと全行削除(Rows=0)でエラーになるんでそこはチェック処理でも追加してください。

確認環境:Windows2000(SP4)、VB6.0(SP5)

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
    i = 0                                               '@ 追加
    Do Until i = MSHFlexGrid1.Rows                      '@ 変更 / MSHFlexGrid1.Row → i
        MSHFlexGrid1.Row = i                            '@ 追加
        If MSHFlexGrid1.CellBackColor = QBColor(1) Then
            '反転していれば行削除
            MSHFlexGrid1.RemoveItem i
'            i = i - 1                                  '削除
        Else
'            MSHFlexGrid1.Row = MSHFlexGrid1.Row + 1    '削除
            i = i + 1
        End If
    Loop
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜


- 関連一覧ツリー (★ をクリックするとツリー全体を一括表示します)

- 返信フォーム (この記事に返信する場合は下記フォームから投稿して下さい)

- VBレスキュー(花ちゃん) - - Web Forum -