我有一个绑定到DataTable的DataGridView。如何检测用户何时向单元格输入值,然后将值填充到另一个单元格中?
**arry
此代码不会引发任何错误,但当长度等于7时,单元格4中没有任何操作(技术上是单元格5)。
答案 0 :(得分:1)
Cells(3)
是DataGridViewCell
,但Cells(3).Value
是String
(我推测)。您正在检查错误对象的长度。
If Len(dataGridView3.CurrentRow.Cells(3).Value) = 7 Then
此外,Len()
是VB6时代的旧功能。我强烈建议切换到String.Length
property而不是:
Dim CellValue As Object = dataGridView3.CurrentRow.Cells(3).Value
If CellValue IsNot Nothing AndAlso _
CellValue.GetType() Is GetType(String) AndAlso _
DirectCast(CellValue, String).Length = 7 Then
或许更麻烦的解决方案,但额外的检查确保If
语句不会引发任何异常。