tutorial - sharepoint dataview webpart xslt group por los caracteres de la izquierda de una columna
xslt tutorial (1)
Tengo una lista de sharepoint 2010 con una columna "proposalID". Los valores en esa columna son 5555-01, 5555-02, 5555-03, 6666-01, 6666-02, etc.
Quiero agrupar por los 4 caracteres a la izquierda del tablero. Entonces, la agrupación mostraría 3 elementos debajo de 5555 y 2 artículos debajo del grupo 6666, etc.
Utilizando Sharepoint Designer 2010, agregué un sitio web de vista en blanco, conectado a mi lista, y de la cinta elegí ordenar por la columna ID de propuesta. Prestó el siguiente código xsl ddwrt:
He estado probando varias sintaxis para cambiar la función de cadena pero no he tenido éxito. Traté de obtener algo de conocimiento de esta publicación, http://jamestsai.net/Blog/post/SharePoint-Data-View-Data-Form-Web-Part-Group-items-by-month-on-DateTime-field. aspx - pero no fue capaz de aplicar la sintaxis de cadena a mi caso.
¿Podría alguien sugerir cómo puedo lograr esta agrupación? Gracias de antemano.
<xsl:choose>
<xsl:when test="not ($dvt_groupfield)">
<xsl:value-of select="ddwrt:NameChanged(string(@ProposalID), 0)" />
</xsl:when>
<xsl:otherwise></xsl:otherwise>
</xsl:choose>
Basado en esa publicación de blog, supongo que lo siguiente funcionaría en este caso:
<xsl:choose>
<xsl:when test="not ($dvt_groupfield)">
<xsl:value-of select="ddwrt:NameChanged(string(substring(@ProposalID, 1, 4)), 0)" />
</xsl:when>
<xsl:otherwise></xsl:otherwise>
</xsl:choose>
usando 1 y 4 como los límites para la subcadena.
Y de manera similar para el título, también como se indica en la publicación del blog:
<xsl:when test="not (@ProposalID) and (@ProposalID) != false()">
<xsl:value-of select="'' ''" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="substring(@ProposalID,1,4)" />
¿Podrías intentarlo?