0
我有一個DataGridView控件有一個TextBox列。在DataGridView.CellValidating事件,我用下面的代碼來驗證該條目是可接受的數據:在輸入有效條目後在DataGridView單元格中輸入無效條目時,如何獲取當前單元格值?
dgvStartingGrid.EndEdit()
Dim dteStartTime As DateTime
If Not Date.TryParse(dgvStartingGrid.CurrentRow.Cells(4).Value, dteStartTime) Then
MessageBox.Show("Please enter a starting time in one of the following formats:" & vbCrLf & _
vbCrLf & "- MM/DD/YY HH:MM:SS (24 Hour Format)" & vbCrLf & "- HH:MM:SS (24 Hour Format)" & _
vbCrLf & "- HH:MM:SS (AM/PM) (12 Hour Format)", "Start Time Entry Error")
e.Cancel = True
End If
此代碼工作正常第一次細胞編輯。
我遇到的麻煩是,如果我在CellValidating事件中輸入有效日期,然後再回到單元格並輸入無效日期,則會跳過此If ... End If因爲它顯示當前單元格值是舊有效日期,而不是當前單元格中的無效條目。
如何提交或獲取當前駐留在DataGridView單元格中的無效值?
謝謝
這似乎不起作用。如果我輸入正確的日期時間格式,例如8:00,則單元格將被驗證。下一次我在同一個單元格中輸入無效的日期時間(如「8」)時,CellValidating事件將運行並且不會出錯,但CellValidated事件將不會運行。這兩者之間是否發生過一些事件?有沒有辦法查看可能阻止CellValidated事件運行的錯誤? – J2Tuner 2013-04-24 13:26:02
您是否嘗試刪除cellValidating事件? – Mathter 2013-04-25 15:40:36