投稿日 | : 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
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜