0

我在 InfoPath 2010 中的 Person Picker 控件出现问题。我输入了一个名称,它被解析并显示在控件上。到目前为止,一切都很好。现在我正在尝试检索控件提供的 AccountId 的值。当我在本地预览表单时它可以工作,但是当我将它发布到 SharePoint(这是一个支持浏览器的表单)时,AccountId 将返回为空白。

下面是我正在使用的 XPath。(我尝试添加一个索引,如“Person[1]”,但 InfoPath 也不喜欢那样。此外,我限制了控件,因此只能输入 1 个用户。)

/my:myFields/my:ApproverGroup/my:Analyst/pc:Person/pc:AccountId

如果我尝试获取 DisplayName 或 AccountType,则结果相同——在预览中有效,但在发布时无效。我正在发布到我的本地 SharePoint Server(我正在开发的同一台机器)。

有任何想法吗?提前致谢。

4

1 回答 1

0

我想到了。事实证明,在数据源反映在 People Picker 控件中输入的值之前,需要进行回发。为什么会这样,我不知道,但它以某种方式使控件正常工作。此回发可以在表单加载时完成一次,然后人员选择器将在此之后工作。所以我的下一个问题是寻找一种强制回发表单加载的方法。此外,人员选择器莫名其妙地不包括“回发设置”属性,例如文本框。我在表单的第一个文本框中启用了回发设置为“始终”,希望用户在向下滚动到 People Picker 控件之前输入一个值。这是一个可怕的黑客,但我到目前为止唯一的解决方法。如果有人可以在这里提供更好的答案,请这样做。

于 2013-04-04T21:05:01.817 回答