在SharePoint 2010中:
我有一个主列表,它根据唯一ID从两个不同的列表中提取多个列。所引入的信息类似,但由两个不同的人为两个不同的客户输入,并且必须位于不同的列表中。假设主列表中使用的类似列是报价编号,价格,报价日期和客户,主列表上的此信息来自列表A和列表B.
在此主列表中,我希望查看所有订单项以及仅包含相关信息的相应查找列。例如,如果项目0025具有来自列表A的报价编号,价格,报价日期和客户信息,我不希望列表B中的信息将出现4个空白列,反之亦然。我只想要报价编号的一栏,其中包含信息,无论它来自哪里。
我最初的想法是隐藏查找列并创建一个计算列,该列将搜索并查看“如果引用号列表中的查找列是空的,则不显示任何内容。如果列表A的报价编号查找列有值,则显示此值“等等。
但是由于您无法在查找列上执行计算,因此我不知道如何正确显示它。这些其他列表中有大约10列,总共35列以上。
有什么想法吗?我很高兴发送屏幕截图或更详细地解释情况。
答案 0 :(得分:1)
您可以将列表作为SQL Server中的表格以外部内容类型进行制作。然后你可以做你喜欢的计算。 然后将所有表显示为外部内容类型。外部内容类型看起来像列表,还有编辑表单等。
答案 1 :(得分:0)
您可以使用数据视图Web部件,然后通过SharePoint Designer修改XSLT来完成此操作。
只需创建数据视图Web部件,导入所有8个相似列,然后将其转换为XSLT视图。
然后,除了其他35列之外,您将有四段与此类似的代码:
<td>
<xsl:value-of select="@QuoteNoA" />
</td>
<td>
<xsl:value-of select="@QuoteNoB" />
</td>
将此更改为以下内容应该可以解决问题:
<td>
<xsl:choose>
<xsl:when test="@QuoteNoA != ''">
<xsl:value-of select="@QuoteNoA" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="@QuoteNoB" />
</xsl:otherwise>
</xsl:choose>
</td>
不要忘记更改列标题标题并删除不再需要的四个额外列(全部通过XSLT完成)