具有多值查找字段的SharePoint自定义列表表单(显示)

时间:2011-08-24 10:26:11

标签: sharepoint customization lookup multivalue

我在SharePoint Designer中创建了一个自定义列表表单,用于显示SharePoint列表中的项目(A)。其中一个字段是查找另一个List(B),其中可以有多个值。

在标准SharePoint DispForm.apsx中,查找字段的值显示为指向已选择的每个列表B项的显示视图的链接。他们是这样的新行:

项目1 第2项

当您创建自定义列表表单时,它会生成一个字符串B的文本值字符串(无链接),如下所示:

第1项;第2项

我已经看到了两种解决方案,让自定义列表表单显示为默认的DispForm.aspx,但两者都有:

  1. 在SharePoint Designer页面上设置'Item 1; Item 2'值以显示为List Form Field,并将视图从'Edit'更改为'Display'(由Quincy在此帖中提供:http://social.msdn.microsoft.com/Forums/en-US/sharepointcustomization/thread/f5ca14c2-925b-4f8d-b306-f7c3d1696be3/ )。
  2. 这与链接到列表B中正确项目的项目完美配合。但是,它显示列表A的第一行中每行的值,而不是相应行的值(即列表A的第一行)项目1和2从列表B中选择,第5行有项目3和9.当您使用此自定义表单显示第5行时,它显示项目1和2)

    1. 使用XSL调用查找';'的过程并将字符串拆分为新行。然后添加一个链接。这适用于我们查看的每个列表项的正确值。但是,链接不能是'DispForm.aspx?ID = x',因为查找不存储ID。我们可以使用'DispForm.aspx?Title = x',但这只是打开DispForm.aspx的空白版本!
    2. 网上有一些帖子提出同样的问题,上面的2个'解决方案'是唯一真实的回复。似乎没有答案。有人找到了这样做的方法吗?

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题。找到了您的question on msdn forum。建议

  

单击查找字段,右键单击箭头 - >格式项目 - >>列表   表格字段

然后

  

在代码视图中,找到SharePoint FormField标记,替换   controlmode =“编辑”到controlmode =“显示”

也没有帮助我。但我找到了更简单的解决方案。只需在SPD中打开您的列表即可。创建新的显示表单,添加必填字段,然后选择您的多值查找字段,右键单击,然后“将项目格式化为” - >的 “标签”即可。

这是我的决心。

答案 1 :(得分:1)

我可能会遇到稍微不同的问题,但我设法通过增加默认视图中的“项目限制”来修复。

不太理想但幸运的是我的名单不太可能达到1000件。

为我工作。

相关问题