Dim datatable_default_view As DataTable = _datatable.DefaultView.ToTable
Dim servicenumber As String = datatable_default_view.Rows.Item(e.RowIndex)("Service Number").ToString
'gets the service number of the selected row
If _datatable.PrimaryKey.Length = 0 Then
Dim keys(0) As DataColumn
keys(0) = _datatable.Columns("Service Number")
_datatable.PrimaryKey = keys
End If
Dim datarow_edited As DataRow = _datatable.Rows.Find(servicenumber)
Try
MsgBox("Record" + datarow_edited("service number") + " was edited")
Catch ex As Exception
MsgBox(ex.Message, MsgBoxStyle.Exclamation, "Error")
End Try
我已經把這個代碼DatagridView_CellEndEdit事件datatable.Rows.Find不起作用
的問題下:
離開小區時,「data_row編輯的」變量不被初始化編輯模式使用鍵盤(即:按下下/上箭頭)。 如果我使用鼠標,它按預期工作。爲什麼是這樣 ?這是一個已知的錯誤,我正在使用VB.net 2008.請幫助
我上傳了一個示例項目示例項目here。如果可能,請檢查它。
我在XP上使用VS 2008(也試過7)。我做了這個[** clip **](https://skydrive.live.com/redir.aspx?cid=923085ae74a2e362&resid=923085AE74A2E362!302&parid = 923085AE74A2E362!300&authkey =!AHGVjqhn6ODlJRo),讓你知道發生了什麼。注意,當我退出使用鍵盤(第二次嘗試)時,它給出'對象引用未設置爲對象的實例'錯誤 – gawicks 2012-03-02 17:31:40
它工作!謝謝Man.You Rock! – gawicks 2012-03-03 10:17:47