我能够阻止用户删除 InfoPath 2003 中的保存重复部分。我的代码在 InfoPath 2010 中不起作用。任何人都可以找到重写以下代码的新方法吗?
在重复部分的 OnBeforeChange 内的 InfoPath 2003 中,我能够检查 DataDOMEvent 属性 e.Site 和 e.Source 以查看谁引发了该事件。例如:
<ParentElement>
…
<RepeatingSection IsSave=”false” …>
<Field 1 />
<Field 2 />
<Field 3 />
<Field 4 />
<Field 5 />
<Field 6 />
</RepeatingSection>
…
</ParentElement>
Dim isRowModification As Boolean
Dim IsSave As Boolean
…
isRowModification = (e.Source Is e.Site)
If IsSave AndAlso isRowModification Then
e.ReturnMessage = "You cannot modify or remove this Section."
e.ReturnStatus = False
End If
在 InfoPath 2010 中,XmlChangingEventArgs 没有 e.Source 属性。当重复部分的更改事件由字段更改或重复部分本身引发时,e.Site 始终指向重复部分。我需要一种方法来知道字段 5 是否引发重复的部分更改事件。