0

我最近将 SharePoint Web 服务提交功能添加到自定义 (InfoPath) 列表表单(不是 xml 表单库表单),以便用户可以将项目从当前表单添加到另一个 SharePoint 列表。效果很好。从 XML 数据连接模板设置重复表,并将数据提交到 Lists.asmx 中的 UpdateListItems 方法。

列表形式图

但是,用户必须将所有字段值手动输入到提交给 Lists.asmx Web 服务的重复表中。我想使用派生值和来自 InfoPath 表单其他部分的值预先填充重复表的某些行。

我尝试的几种方法都不起作用:

  1. 创建规则以在重复表中的字段元素中设置值(即:将字段设置为“myvalue”)。这不起作用,因为它为所有行填充 Field 元素。找不到定位一行的方法(即:将字段设置为“是”,其中名称属性 = 字段 1)。

  2. 向 Manifest.xsf 中的规则添加了过滤器,该过滤器设置字段值以尝试针对重复表的特定行。尝试使用 @ 符号进行过滤,因为我正在尝试过滤属性(即:Field[@Name = "Field1"])。也尝试不使用 @ 符号(即:Field[Name="Field1"])。两者都没有按预期工作。

  3. 创建了要在提交中发送的字符串字段,并使用 concat 组装 UpdateListItems 期望的 XML。收到 SOAP 错误消息:

似乎是一件简单的事情,但无法让它发挥作用。我错过了什么吗?首先想到的是代码隐藏,但这是一个列表表单,而不是 XML 表单库表单(不能在列表表单模板中进行代码隐藏)。

是否有其他人成功地自动填充了一些数据值并提交到 SharePoint Web 服务以添加或更新另一个 SharePoint 列表?

4

0 回答 0