以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 关于“同步更新关联列内容”,有一个问题。 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=9314) |
-- 作者:wcs -- 发布时间:2011/3/28 22:01:00 -- 关于“同步更新关联列内容”,有一个问题。 有一父表,一子表,我设置了三列关联,选中了“同步更新关联列内容”
同时,我在子表的datacolchanging事件中设置如下代码,意思是限制在子表中修改关联列内容(实际已无必要,我是后来才选中这个关联设置选项的)
Dim dr As DataRow = e.DataRow.GetParentrow("总包合同") If e.DataCol.Name = "总包合同编号" Or e.DataCol.name = "财务项目编号" Or e.DataCol.name = "合同主体" Then If dr IsNot Nothing Then MessageBox.Show("关联子表中有记录,不能修改本记录!", "提示") e.Cancel = True End If end if
结果:我在父表中修改关联列的内容,竟会出现这个提示四次,回车后修改成功了,但是子表中的关联列没有同步更新。(这个父表还有其他的子表,都同步更新了,只有这个表不更新关联列内容)
我检查了一个小时,删除了这段代码后,“同步更新关联列内容”才算是正常了。
我想,这是不是一个问题啊,在选中“同步更新关联列内容”时,子表中有这样的代码,“同步更新关联列内容”就可能失效!
我现在还可以重复这样的问题出来!
[此贴子已经被作者于2011-3-28 22:04:48编辑过]
|
-- 作者:狐狸爸爸 -- 发布时间:2011/3/28 22:25:00 -- 应该是显示三次的,因为你是三列关联。 用代码使得同步更新关联列内容实失效是正常的,也是应该的,例如我希望某些行能够按系统设置自动更新,而符合特定条件的则禁止自动更新。 代码和系统设置冲突时,一般是代码优先。 |