以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- [求助] (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=70007) |
-- 作者:zcgmxf -- 发布时间:2015/6/14 16:45:00 -- [求助] 老师好!有个父表“从业人员健康检查登记表”,子表“从业人员健康检查表”,父表有一列“体检人数”,希望在关联表中增加行时给予限制,就是增加行数不能超过“体检人数”。在子表的BeforeAddDataRow事件中执行代码:Dim d As DataRow = e.DataRow.GetParentRow("从业人员健康检查登记表") If d IsNot Nothing Then Dim crs As List(of DataRow) = d.GetChildRows("从业人员健康检查表") Dim n As Integer = crs.Count If n >= d("体检人数") Then e.Cancel = True Else e.Cancel = False End If End If 提示:.NET Framework 版本:2.0.50727.5472 Foxtable 版本:2014.11.11.1 错误所在事件:从业人员健康检查表,BeforeAddDataRow 详细错误信息: 未将对象引用设置到对象的实例。 请指点,谢谢!
|
-- 作者:大红袍 -- 发布时间:2015/6/14 16:53:00 -- BeforeAddDataRow 根本不知道它的父亲是谁。
或者你这样写
Dim d As Row = Tables("从业人员健康检查登记表").Current If d IsNot Nothing Then
Dim crs As List(of DataRow) = d.DataRow.GetChildRows("从业人员健康检查表")
Dim n As Integer = crs.Count
If n >= d("体检人数") Then
e.Cancel = True
Else
e.Cancel = False
End If
End If
|
-- 作者:zcgmxf -- 发布时间:2015/6/14 16:59:00 -- 非常感谢!解决了。哈哈哈哈哈哈。。。。努力不够,请多关照。 |