Pregunta

Estoy desarrollando un sitio de publicación de SharePoint y configurando sus tipos de contenido y diseños de página. Necesito mostrar el valor para un campo de año con el número de tipo. El marcado actualmente es:

<SharePointWebControls:NumberField FieldName="Year" runat="server" id="Year" />

El problema con el comportamiento predeterminado es que muestra cada número con una coma, por ejemplo, "2,009" en lugar de "2009". ¿Hay alguna manera de configurar algún tipo de cadena. Sintaxis de formato en el campo para que se muestre correctamente?

Intenté crear una nueva plantilla de renderizado que se vea así:

<SharePoint:RenderingTemplate ID="YearNumberField" runat="server">
  <Template>
    <SharePoint:FormField ID="TextField" runat="server"/>
  </Template>
</SharePoint:RenderingTemplate>

... Pero no parece haber ninguna propiedad de 'formato' en el objeto Formfield.

Gracias por cualquier ayuda.

Actualizar:

Intenté envolver la etiqueta de SharePoint: Formfield dentro de SharePoint: FormattedString. Lamentablemente, el campo no estaba formateado, los mismos resultados que esta pregunta.

¿Fue útil?

Solución

El problema es que la plantilla de renderizado debe usar Formfield. Esto siempre hace que el valor en el formato: 1.989. Para resolver esto, el texto renderizado debe ser atrapado y alterado para obtener la salida deseada. Aquí hay dos enfoques para resolver esto:

1. Escriba un control personalizado heredado de Numberfield

Los métodos RenderfieldfordFordFordPlay y RenderfieldForInput se pueden anular para proporcionar la salida deseada. Se pueden agregar propiedades adicionales al control para describir el comportamiento adicional.

Pros: No se requieren cambios en las plantillas de representación.

2. Escriba un control personalizado para su uso en la plantilla de renderizado

Un control que (por ejemplo) usa expresiones regulares para alterar el texto puede envolver el control de Formfield.

<SharePoint:RenderingTemplate ID="YearField" runat="server">
    <Template>
        <RX:RegexManipulatorControl runat="server"
                Mode="Replace"
                Expression=","
                Replacement="">
            <SharePoint:FormField runat="server"/>
        </RX:RegexManipulatorControl>
    </Template>
</SharePoint:RenderingTemplate>

Pros: la solución genérica se puede usar para cualquier tipo de campo.

Otros consejos

de Solo otro blog de SharePoint

Abra la vista de lista en SharePoint Designer.

Haga clic derecho en la parte web de la vista de datos. (la lista)

Seleccione Convertir a la vista de datos XSLT

Haga clic en el campo Número que desea formatear

A> aparecerá mostrando campo de datos, formato como

Haga clic en el formato de enlace a continuación como - Opciones de formato de número

En opciones, deselección, use 1000 separadores

Haga clic en Aceptar

Guarde sus cambios y presione F12 para obtener una vista previa

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top