SharePoint 2010 - 列表视图中的动态列

时间:2011-09-02 08:50:40

标签: c# visual-studio sharepoint sharepoint-2010

我只是想在我将更多时间投入到我遇到的问题之前检查一下,因为我想确保我不会尝试做一些愚蠢或不可行的事情。目前我正在开发一个SharePoint项目,我在Visual Studio中创建了一个列表,其中包含各种视图。要求是这些视图之一包含许多涉及当前日期的数据计算,以及项目随时间的变化。我很清楚今天的问题,所以不想在列表中存储这些数据,但我想动态计算数字以在列表视图中显示它们。

问题是我不确定是否可以这样做。显然,我可以手工制作一个Web代码,它在代码中使用列表数据创建一个网格,但这并不理想,因为我想包含所有开箱即用的列表功能。有没有办法自定义列表视图页面以添加说XSLT或jQuery中的列?这可以在Visual Studio Sandbox解决方案中完成,因为我们尝试不使用SharePoint Designer,因为它缺乏源代码控制,我们希望能够自动将系统块部署到SharePoint站点吗?

我知道这是一个很多问题,但是我一次性地把头发拉出来,因此我的问题。提前谢谢。

1 个答案:

答案 0 :(得分:1)

您可以创建custom field type。在SharePoint 2010中,支持XSLT rendering

来自MSDN的示例:

<xsl:template name="FieldRef_Text_body" ddwrt:dvt_mode="body" match ="FieldRef" mode="Text_body">
  <xsl:param name="thisNode" select="."/>
  <xsl:choose>
    <xsl:when test="@AutoHyperLink='TRUE'">
      <xsl:value-of select="$thisNode/@*[name()=current()/@Name]" disable-output-escaping ="yes"/>
    </xsl:when>
    <xsl:otherwise>
      <xsl:value-of select="$thisNode/@*[name()=current()/@Name]"/>
    </xsl:otherwise>
  </xsl:choose>
</xsl:template>