VB.NET - 无法通过该行访问已删除的行信息

时间:2014-03-06 02:26:59

标签: vb.net

这是我的删除按钮代码。当我单击“删除”按钮时,它会显示错误消息“无法通过该行访问已删除的行信息”。那么,可能的解决方案是什么?

 Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    If (i < ds.Tables(0).Rows.Count - 1) Then
        Dim r1 As DataRow
        'r1 = ds.Tables(0).NewRow(i)(0)
        'r1.Delete()
        'Me.da.Update(ds.Tables(0))
        ds.Tables(0).Rows(i).Delete()
        ds.Tables(0).GetChanges(DataRowState.Deleted)
        'ds.Tables(0).AcceptChanges()
        'ds.AcceptChanges()
        'Me.da.Update(Me.ds.Tables(0).Rows(i)("cust_id")).ToString()
        'Me.da.Update(Me.ds.Tables(0).Rows(i)("cust_id"))
        Me.da.Update(Me.ds.Tables(0).Rows(i).Item(0))
        '  Me.da.Update(Me.ds.Tables(0))
        ' ds.Tables(0).AcceptChanges()

        i = i + 1
        TextBox1.Text = ds.Tables(0).Rows(i)("cust_id").ToString()
        TextBox2.Text = ds.Tables(0).Rows(i)("fname").ToString()
        TextBox3.Text = ds.Tables(0).Rows(i)("sname").ToString()
        TextBox4.Text = ds.Tables(0).Rows(i)("lname").ToString()
        TextBox5.Text = ds.Tables(0).Rows(i)("address").ToString()
        TextBox6.Text = ds.Tables(0).Rows(i)("city").ToString()
        TextBox7.Text = ds.Tables(0).Rows(i)("state").ToString()
        TextBox8.Text = ds.Tables(0).Rows(i)("contact1").ToString()
        TextBox9.Text = ds.Tables(0).Rows(i)("contact2").ToString()
        TextBox10.Text = ds.Tables(0).Rows(i)("email").ToString()

    End If
End Sub

1 个答案:

答案 0 :(得分:0)

您有网格或其他控件中显示的数据,当您删除它时,屏幕上会刷新信息,这是控件抛出无法访问信息的错误。

在删除表格中的行之前,您需要确保从任何UI元素中删除它,例如绑定源或网格。