2010-11-02 6 views
0

Ce que je voudrais faire est la suivante:Mise en forme conditionnelle dans SharePoint 2010 en utilisant Visual Studio 2010

Je déploie actuellement une énorme collection de listes et codebehind. Mais, ce que je veux aussi déployer, c'est le «côté visuel» du paquet. Mais, actuellement, cela est fait en utilisant Sharepoint Designer 2010.

Je suppose que toutes les modifications que je fais dans Sharepoint Designer 2010 peuvent être faites d'une manière ou d'une autre dans Visual Studio 2010, en utilisant soit le Schema.xml de la vue, ou codebehind. Cela ne me dérange pas non plus.

Je ne peux pas avoir de transformation XSL statique. Mon fichier XSL sera basé sur les colonnes dynamiques récemment ajoutées, et je veux commencer par quelque chose comme ça.

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

Pour expliquer, cela définira la couleur de fond à autre chose lorsque la valeur des employés (de type utilisateur) est égal à 'Tapis-PC \ Mats'

Comment pourrais-je aller et rendre cette dynamique, et ajouter ceci à cette vue? J'ai regardé dans l'objet SPView, et tout ce que je vois est Xsl et XslLink, mais je n'ai aucune idée quoi faire avec eux. Des idées?

Salutations,

Mats

Répondre

0

Prenez une copie de SharePoint Manager pour obtenir un regard sur les valeurs des objets dans une instance SharePoint. Les propriétés Xsl sont généralement utilisées pour stocker le Xsl qui sera utilisé pour rendre la vue, mais si une URL est fournie dans XslLink, cela annulera et extraira le Xsl à partir de là. Vous pouvez avoir des problèmes avec xsl certains incluent en raison de la sécurité de SharePoint.

Questions connexes