0

在 SharePoint 2010 中:

我有一个主列表,它根据唯一 ID 从两个不同的列表中提取几列。被提取的信息是相似的,但由两个不同的人为两个不同的客户输入,并且必须在不同的列表中。假设主列表中使用的类似列是报价编号、价格、报价日期和客户,并且主列表上的这些信息来自列表 A 和列表 B。

在此主列表中,我想查看所有行项目,并且只查看其中包含信息的相应查找列。例如,如果项目 0025 具有来自列表 A 的报价单号、价格、报价日期和客户信息,我不希望列表 B 中的信息所在的 4 个空白列,反之亦然。我只想要一个包含信息的报价单列,无论它来自哪里。

我最初的想法是隐藏查找列并创建一个计算列,该列将搜索并查看“如果列表 A中的引用编号查找列为空,则不显示任何内容。如果引用编号列表中的查找列A有一个值,显示这个值”等等。

但是由于您无法在查找列上执行计算,所以我不知道如何正确显示它。从这些其他列表中提取了大约 10 列,总共 35 列以上。

有任何想法吗?我很乐意发送屏幕截图或更详细地解释情况。

4

2 回答 2

1

您可以获取列表并将它们作为 SQL Server 中的表在外部内容类型中制作。然后你可以做你喜欢的计算。然后将所有表显示为外部内容类型。外部内容类型看起来像列表,也有编辑表单等。

于 2012-05-29T11:51:27.297 回答
0

You could do this by using a data view web part and then modifying the XSLT through SharePoint Designer.

Simply create the data view web part, importing all 8 similar columns, then convert it to it's XSLT view.

Then, besides the other 35 columns, you will have four sections of code similiar to this:

<td>
    <xsl:value-of select="@QuoteNoA" />
</td>
<td>
    <xsl:value-of select="@QuoteNoB" />
</td>

Changing this to something like the following should do the trick:

<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>

Don't forget to change the column header titles and remove the four extra columns that you do not need anymore (all done through the XSLT)

于 2012-01-31T04:42:12.917 回答