Vínculos con parámetros en Sharepoint Designer (XSLT)

27/03/2009 - 09:36 por Roberto Marcos | Informe spam
Articulo:
http://sharepointworks.blogspot.com...point.html

Objetivo:
Explicar de forma sencilla como crear vínculos o botones que se generen con
parámetros en Sharepoint Designer, usando XSLT
Para posteriormente recogerlo el la pagina vinculada.

Ingredientes:
Un vínculo Anchor o un Botón
Una variable XSL de un datasource o un Parámetro (Parameter Binding)

Receta:
Esta es la forma facil de hacer un vinculo con parametro en sharepoint
designer usando un DataView con el datasource configurado

<a href="EditForm.aspx?ID={@ID}"><img border="0" alt="Edit"
src="/_layouts/images/edititem.gif" /></a>

De esta forma lo podemos poner en un botón con la diferencia que obtenemos
el valor del parameterbing

<input type="button" value="Insertar nuevo Subindice"
name="btnNuevoSubindice">
<xsl:attribute name="onclick">javascript:
document.location.href=&apos;../Subindices/NewForm.aspx?IDPPTA=<xsl:value-of
select="$IDPPTA" /></xsl:attribute>&apos;
</input>

No olvidar poner el parametro en la seccion <parameterbindings> del webpart:
<ParameterBinding Name="IDPPTA" Location="QueryString(ID)"
DefaultValue="120"/>

Truco: En este caso lo obtenemos de la queryString y le pongo un valor por
defecto para que recupere datos en preview y poder diseñar comdodamente
usando el Sharepoint designer.

De esta forma me he creado un autonumerador de elementos teniendo en cuenta
que el datasource esta filtrado por parametro

<input type="button" value="Insertar nuevo Subindice"
name="btnInsertarNuevo2">
<xsl:attribute name="onclick">javascript:
document.location.href=&apos;../Subindices/NewForm.aspx?IDPPTA=<xsl:value-of
select="dsQueryResponse/Rows/Row[1]/@Propuesta" />&NEWSUBNUM=<xsl:value-of
select="ddwrt:Max(/dsQueryResponse/Rows/Row/@Cod_subindice)+1</a>"
/>&apos;</xsl:attribute> </input>

Obtenemos el mismo efecto usando un vínculo
<a alt="Nuevo"><xsl:attribute
name="href">../Subindices/NewForm.aspx?IDPPTA=<xsl:value-of
select="dsQueryResponse/Rows/Row[1]/@Propuesta" />&NEWSUBNUM=<xsl:value-of
select="ddwrt:Max(/dsQueryResponse/Rows/Row/@Cod_subindice)+1</a>"
/></xsl:attribute>Añadir un Nuevo registro autonumerado</a>

Nota: "&apos;" es la comilla ya que en XSLT no se pueden poner directamente
Espero os resulte de utilidad

Otra forma: Se puede hacer en vez de pasar el parametro por GET, se pase por
post si creamos un formulario oculto con campos hidden, asi no son visibles
los parametros, pero hay que recogerlo del form en vez del la QueryString

http://www.robertomarcos.com/
 

Leer las respuestas

#1 Mario
05/06/2009 - 18:17 | Informe spam
Roberto,

Hay alguna forma de obtener de forma similar a <xsl:value-of
select="$IDPPTA" /> el valor de una columna en especial de la fila
seleccionada en un XSLT DataView

"Roberto Marcos" wrote:

Articulo:
http://sharepointworks.blogspot.com...point.html

Objetivo:
Explicar de forma sencilla como crear vínculos o botones que se generen con
parámetros en Sharepoint Designer, usando XSLT
Para posteriormente recogerlo el la pagina vinculada.

Ingredientes:
Un vínculo Anchor o un Botón
Una variable XSL de un datasource o un Parámetro (Parameter Binding)

Receta:
Esta es la forma facil de hacer un vinculo con parametro en sharepoint
designer usando un DataView con el datasource configurado

<a href="EditForm.aspx?ID={@ID}"><img border="0" alt="Edit"
src="/_layouts/images/edititem.gif" /></a>

De esta forma lo podemos poner en un botón con la diferencia que obtenemos
el valor del parameterbing

<input type="button" value="Insertar nuevo Subindice"
name="btnNuevoSubindice">
<xsl:attribute name="onclick">javascript:
document.location.href=&apos;../Subindices/NewForm.aspx?IDPPTA=<xsl:value-of
select="$IDPPTA" /></xsl:attribute>&apos;
</input>

No olvidar poner el parametro en la seccion <parameterbindings> del webpart:
<ParameterBinding Name="IDPPTA" Location="QueryString(ID)"
DefaultValue="120"/>

Truco: En este caso lo obtenemos de la queryString y le pongo un valor por
defecto para que recupere datos en preview y poder diseñar comdodamente
usando el Sharepoint designer.

De esta forma me he creado un autonumerador de elementos teniendo en cuenta
que el datasource esta filtrado por parametro

<input type="button" value="Insertar nuevo Subindice"
name="btnInsertarNuevo2">
<xsl:attribute name="onclick">javascript:
document.location.href=&apos;../Subindices/NewForm.aspx?IDPPTA=<xsl:value-of
select="dsQueryResponse/Rows/Row[1]/@Propuesta" />&NEWSUBNUM=<xsl:value-of
select="ddwrt:Max(/dsQueryResponse/Rows/Row/@Cod_subindice)+1</a>"
/>&apos;</xsl:attribute> </input>

Obtenemos el mismo efecto usando un vínculo
<a alt="Nuevo"><xsl:attribute
name="href">../Subindices/NewForm.aspx?IDPPTA=<xsl:value-of
select="dsQueryResponse/Rows/Row[1]/@Propuesta" />&NEWSUBNUM=<xsl:value-of
select="ddwrt:Max(/dsQueryResponse/Rows/Row/@Cod_subindice)+1</a>"
/></xsl:attribute>Añadir un Nuevo registro autonumerado</a>

Nota: "&apos;" es la comilla ya que en XSLT no se pueden poner directamente
Espero os resulte de utilidad

Otra forma: Se puede hacer en vez de pasar el parametro por GET, se pase por
post si creamos un formulario oculto con campos hidden, asi no son visibles
los parametros, pero hay que recogerlo del form en vez del la QueryString

http://www.robertomarcos.com/

Preguntas similares