将InfoPath代码2003升级到2010(重复节更改事件)

时间:2012-12-18 22:20:10

标签: vb.net infopath

我能够阻止用户删除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是否会引发重复的部分更改事件。

0 个答案:

没有答案