按照帮助帮助文件
通过子表触发父表事件
还有一个特殊情况,表达式列并非由本表的列计算得出,而是由子表数据计算得出。
例如假定订单表有个数量列,是表达式列,用于累计订单明细表的数量,其表达式为:
Sum(Child.数量)。
再假定订单表的DataColChanged事件设置了如下代码:
If e.Col.name = "数量" Then
'相关计算代码
End
If
当我们在订单明细表输入数量时,订单表的数量会自动更新,但是上面的代码永远不会执行,因为数量是一个表达式列,不会触发事件。
我们需要在订单明细表的DataColChanged事件加上代码:
If e.Col.name = "数量" Then
Dim
pr
As DataRow = e.DataRow.GetParentRow("订单") '找出对应的父行
If pr IsNot Nothing Then
DataTables("订单").DataCols("数量").RaiseDataColChanged(pr) '通知系统此父行的数量列发生了改变,触发DataColChanged事件
End If
End
If
在两个表中添加代码,出现 编译错误:“”“col”不是datacoleventargs的成员 这个是什么问题呢