Vb.net 在输入有效项后在DataGridView单元格中输入无效项时,如何获取当前单元格值?
我有一个DataGridView控件,它有一个TextBox列。在DataGridView.CellValidating事件中,我使用以下代码验证条目是否为可接受的日期:Vb.net 在输入有效项后在DataGridView单元格中输入无效项时,如何获取当前单元格值?,vb.net,datagridview,datagridviewtextboxcell,Vb.net,Datagridview,Datagridviewtextboxcell,我有一个DataGridView控件,它有一个TextBox列。在DataGridView.CellValidating事件中,我使用以下代码验证条目是否为可接受的日期: dgvStartingGrid.EndEdit() Dim dteStartTime As DateTime If Not Date.TryParse(dgvStartingGrid.CurrentRow.Cells(4).Value, dteStartTime) Then MessageBox.Show("Pleas
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单元格中的无效值
谢谢请改用CellValidated事件
在替换新单元格值之前调用CellValidating事件这似乎不起作用。如果我键入正确的日期时间格式,例如8:00,单元格将被验证。下次我在同一单元格中输入无效的日期时间时,如“8”,CellValidating事件将运行且不会出错,但CellValidated事件将不会运行。在这两者之间有什么事情发生吗?是否有方法查看可能阻止CellValidated事件运行的错误?