1

我们有一个包含提案列表(InfoPath 表单)的文档库。来自不同组织的用户使用声明(表单身份验证,通过外联网)通过 SharePoint 登录。表单在客户端的 InfoPath 中打开。InfoPath 表单包含一个字段,表示提案所属的组织(选择列表),然后用户在填写表单时选择该字段。

我们编写了一个自定义声明提供程序,它使用组织声明来增加每个用户的登录。

当用户在 InfoPath 表单填充器中打开来自 SharePoint 的提案时,我们希望:

  • 使用与用户声明匹配的组织预填充组织选择列表
  • 如果用户对组织的声明值与表单上选定的组织不匹配,则限制表单的保存(插入和更新)

我想知道如何在 InfoPath 中获取声明信息。或者,有关如何使用自定义工作流/事件接收器/Web 服务(或其他东西)在服务器端执行此操作的想法。

4

2 回答 2

0

我不确定这是否适用于您的特定实现,但是,您可以设置要从 Web 服务检索的输入控件(下拉列表、列表框等)的数据源。

然后,您可以使用 eForm 上的隐藏字段,这些字段填充了您需要的元数据,例如用户 ID。这些值随后被传递给 web 服务,并且返回(列表或其他)绑定到 eForm 中所需的控件。

于 2012-04-20T01:04:21.507 回答
0

这是从 SharePoint 2010 获取声明的基本教程。将其放在 InfoPath 表单后面的代码中。http://msdn.microsoft.com/en-us/library/ee535731.aspx

理想情况下,您希望从 InfoPath 表单的 FormEvents_Loading 方法调用代码,如果用户的组织无效,则创建一个 bool,如果为 false,将阻止表单提交。这将在 FormEvents_Submit 方法中完成。

于 2012-04-11T22:17:15.130 回答