プロが教える店舗&オフィスのセキュリティ対策術

VB2010でコーディングしています。(VB初心者です。)
ネットでDatagridview 行削除コードを調べてボタンに実装したんですが、一回目は削除できるんですが
二回目が削除できません。(削除後にデータを再構築できていない?)
ご教授お願いします。

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim DT As New DataTable
DT = DirectCast(Me.DGV.DataSource, DataTable)
Dim 削除 As Boolean = False
'選択行の取得
For Each r As DataGridViewRow In Me.DGV.SelectedRows
     Dim ID As String = DT.Rows(r.Index).Item("ID").ToString

     (その他の処理)

'リスト上削除
Me.DGV.Rows.RemoveAt(r.Index)
Next r
End Sub

A 回答 (1件)

こんにちは。



これでどうですか?

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim DGV As DataGridView = Me.DataGridView1

With DGV
'DataGridView1で選択されているすべての行を削除する
For Each r As DataGridViewRow In .SelectedRows
If Not r.IsNewRow Then
.Rows.Remove(r)
End If
Next r
End With

End Sub
    • good
    • 0
この回答へのお礼

ありがとうございます。
Dim DT As New DataTable
DT = DirectCast(Me.DGV.DataSource, DataTable)
が悪かったようです。
直接セルの値を取得することでうまく動作しました。

お礼日時:2012/12/06 23:22

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!