2014-03-06 43 views
0

這是我的刪除按鈕代碼。當我點擊刪除按鈕時,它會顯示錯誤消息「已刪除的行信息無法通過該行進行訪問」。那麼,可能的解決方案是什麼?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 
+0

首先,什麼是'ds'和'da'?其次,在函數的開始處插入一個斷點,然後遍歷代碼以找出發生錯誤的行。 –

+0

嘗試在刪除後重新分配ds。 – matzone

回答

0

你必須在網格或其他控件,當你刪除它顯示的數據,信息刷新在屏幕上,這是當控制拋出的信息不能被訪問的錯誤。

在您刪除表格中的一行之前,您需要確保將其從任何UI元素(如綁定源或網格)中刪除。

相關問題