使用Visual Studio 2010在Sharepoint 2010中进行条件格式设置

时间:2010-11-02 11:19:21

标签: sharepoint view xslt

我想做的是以下内容:

我目前正在部署大量的列表和代码隐藏。但是,我还想要部署的是包的“视觉方面”。但是,目前,这是使用Sharepoint Designer 2010完成的。

我的猜测是,我在Sharepoint Designer 2010中所做的所有修改都可以在Visual Studio 2010中以这种或那种方式完成,使用视图的Schema.xml或代码隐藏。我也不介意。

我不能进行任何静态XSL转换。我的XSL文件将基于最近添加的动态列,我想从这样开始。

<xsl:include href="/_layouts/xsl/main.xsl"/>
<xsl:include href="/_layouts/xsl/internal.xsl"/>
<xsl:param name="AllRows" select="/dsQueryResponse/Rows/Row[$EntityName = '' or (position() &gt;= $FirstRow and position() &lt;= $LastRow)]"/>
<xsl:param name="dvt_apos">&apos;</xsl:param>
<xsl:template name="FieldRef_User_body.Employee" ddwrt:dvt_mode="body" match="FieldRef[@Name='Employee']" mode="User_body" ddwrt:ghost="" xmlns:ddwrt2="urn:frontpage:internal">
  <xsl:param name="thisNode" select="."/>
  <span>
    <xsl:attribute name="style">
      <xsl:if test="normalize-space($thisNode/@Employee) = 'Mats-PC\Mats'" ddwrt:cf_explicit="1">background-color: #DEF0FA;</xsl:if>
    </xsl:attribute>
    <xsl:value-of disable-output-escaping="yes" select="$thisNode/@*[name()=current()/@Name]" />
  </span>
</xsl:template>

要解释一下,当Employee值(类型为User)等于'Mats-PC \ Mats'时,这会将背景颜色设置为其他颜色

我将如何进行动态制作,并将其添加到该视图中?我查看了SPView对象,我看到的只是Xsl和XslLink,但我不知道如何处理它们。有什么想法吗?

问候,

1 个答案:

答案 0 :(得分:0)

获取SharePoint Manager的副本以查看SharePoint实例中对象的值。属性Xsl通常用于存储将用于呈现视图的Xsl,但如果在XslLink中提供了url,则将覆盖并从那里拉出Xsl。由于SharePoint安全性,您可能会遇到一些包含xsl的问题。