以文本方式查看主题 - Foxtable(狐表) (http://foxtable.com/bbs/index.asp) -- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2) ---- [求助] (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=135522) |
-- 作者:沪上游客 -- 发布时间:2019/5/28 18:33:00 -- [求助] 老师您好! 下面一段代码是在表事件BeforeSaveDataRow If e.DataRow.IsNull("主合同编号") = False Then Dim pr As DataRow = e.DataRow.GetParentRow("工程合同基础数据") \'获得此应收款记录对应的主合同 If pr IsNot Nothing Then \'如果有对应的主合同 执行代码... Else e.Cancel = True \'那么取消保存并提示用户 Messagebox.Show("该记录主合同编号有误,请核对修改后保存!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) End if Else e.Cancel = True \'那么取消保存并提示用户 Messagebox.Show("主合同编号不能为空,请填入正确的主合同编号后保存!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information) End If 我的“工程合同基础数据”(父表)是动态分页加载的,如果我先加载父表对应的主合同记录,上面代码没问题,但是在子表中做记录很多时候没有加载父表对应的记录,所以会出现红色的提示,而且不予保存。 请问一下老师有什么其他办法?如果每次都要加载父表数据速度会很慢,因为我的项目中设置了加载主表同时会加载所有子表记录。 谢谢老师! |
-- 作者:沪上游客 -- 发布时间:2019/5/28 18:54:00 -- 老师是不是可以用SQLFind() Dim pr As DataRow = DataTables("工程合同基础数据").SQLFind("合同编号 =\'" & e.DataRow("主合同编号") & "\'")
|
-- 作者:有点蓝 -- 发布时间:2019/5/28 20:21:00 -- 就是用SQLFind |
-- 作者:沪上游客 -- 发布时间:2019/5/28 20:47:00 -- 谢谢老师! |