在SharePoint Designer 2010 AllItems.aspx xslt视图中计算列

时间:2015-08-11 10:41:22

标签: xml xslt sharepoint sharepoint-designer

您能否帮我实施以下内容:

我有3列自定义列表(LinkTitle,Location,Location2)。 如果列Location2为空,则应从位置列

中获取值

我做了以下,没有工作:

<xsl:template name="FieldRef_header.Location2" ddwrt:dvt_mode="header" match="FieldRef[@Name='Location2']" mode="header" ddwrt:ghost="hide">
<th nowrap="nowrap" scope="col" onmouseover="OnChildColumn(this)">
  <xsl:attribute name="class">
    <xsl:choose>
        <xsl:when test="@Location2 != ''">
            <xsl:value-of select="@Location2" />
        </xsl:when>
        <xsl:otherwise>
            <xsl:value-of select="@Location" />
        </xsl:otherwise>
    </xsl:choose>
  </xsl:attribute>
  <xsl:call-template name="dvt_headerfield.Location2">
    <xsl:with-param name="fieldname">
      <xsl:value-of select="@Name"/>
    </xsl:with-param>
    <xsl:with-param name="fieldtitle">
      <xsl:value-of select="@DisplayName"/>
    </xsl:with-param>
    <xsl:with-param name="displayname">
      <xsl:value-of select="@DisplayName"/>
    </xsl:with-param>
    <xsl:with-param name="fieldtype">
        <xsl:choose>
            <xsl:when test="@Type='Number' or @Type='Currency'">number</xsl:when>
            <xsl:otherwise>x:string</xsl:otherwise>
        </xsl:choose>
    </xsl:with-param>
  </xsl:call-template>
</th>

1 个答案:

答案 0 :(得分:0)

无法使用计算类型的其他当前位置列以及公式:

进行此操作
=IF( ISBLANK(Location2) , Location , Location2 )

这就是SharePoint方式