非常谢谢老师!请老师多看一眼,教教我理解一个问题:
If e.OldRange.RowSel <> e.NewRange.RowSel '如果选择的是不同的行
If e.OldRange.RowSel >= 0 AndAlso e.OldRange.Rowsel < e.Table.Rows.Count Then '而且原来选择的是一个有效的数据行
Dim r As Row = e.Table.Rows(e.OldRange.Rowsel) '获得原来选择的行
If r.IsNull("SerialNo") Or r("SerialNo").Length <> 18 Then '如果编号为空
r.DataRow.SetError("SerialNo","必填项且长度为18位")
MessageBox.Show("输入错误!","提示!")
Else
r.DataRow.SetError("SerialNo","")
End If
End If
End If
对这段代码,r("SerialNo").Length <> 18 这部分,写成 r.DataRow("SerialNo").Length <> 18 也是一样的。
而 r.DataRow.SetError("SerialNo","必填项且长度为18位") 这部分不能写成 r.SetError("SerialNo","必填项且长度为18位")
我请教老师的疑问:
1,为什么有的方法(如SetError)不继承给 Row 呢?
2,在《使用指南》的认知层面,使用一些“事件代码”的时候,如何选择使用 DataTable 和 Table ?(如上面代码中的 DataRow 和 Row ,如何选择?)
3,在《使用指南》的认知层面,怎么理解 DataTable 是“不可见的表” ? Table 是“可见的表” ?
[此贴子已经被作者于2020/3/3 22:27:18编辑过]