Saltar al contenido

Sharepoint: fila de elemento de código de color basada en el valor de la columna en SharePoint Foundation 2013

Puede que se de el caso de que halles algún error en tu código o trabajo, recuerda probar siempre en un entorno de testing antes añadir el código al trabajo final.

Solución:

En SharePoint 2013 se introdujo un llamado Client Rendering Mode (CSR) que representa un motor de renderizado para vistas de lista, formularios de lista y resultados de búsqueda. Le recomendaría que considere el siguiente enfoque para su tarea.

Cómo resaltar las filas usando CSR

El siguiente ejemplo muestra cómo resaltar las filas de tareas de la lista en función de su estado

Código de plantilla:

SP.SOD.executeFunc("clienttemplates.js", "SPClientTemplates", function() 

   SPClientTemplates.TemplateManager.RegisterTemplateOverrides(
     OnPostRender: function(ctx) 

       var statusColors =  
          'Not Started' : '#FFF1AD',  
          'In Progress' : '#FFD800',
          'Completed' : '#01DF3A' 
       ;

       var rows = ctx.ListData.Row;
       for (var i=0;i

Cómo aplicar los cambios

Hay al menos dos opciones para aplicar los cambios:

  1. A través de la propiedad JSLink del elemento web
  2. Coloque la plantilla de JavaScript en la página a través de Script Editor/Content Editor
    elementos web

A continuación, se explica cómo aplicar los cambios mediante el segunda opción:

  1. Cambiar la página al modo de edición
  2. Agregar Script Editor webpart justo debajo del webpart de vista de lista.
  3. Ponga el código especificado envolviéndolo usando script código de etiqueta en el Editor de secuencias de comandos, por ejemplo:
  4. Guardar la pagina

Resultados

ingrese la descripción de la imagen aquí

Para familiarizarse con la RSE, recomendaría los siguientes artículos:

  • INTRODUCCIÓN AL RENDERIZACIÓN DEL LADO DEL CLIENTE EN SHAREPOINT 2013

  • Representación del lado del cliente de SharePoint 2013: vistas de lista

Sí, es posible a través de la nueva función de SP2013 llamada JSLink.

Con JS Link, los usuarios pueden agregar una referencia a sus archivos JavaScript como una propiedad WebPart y controlar la representación de campos y elementos en vistas, formularios de lista (mostrar, nuevo, editar) y eventos en WebParts.Antes de usar el archivo js, Se recomienda que el archivo JavaScript se cargue como una nueva plantilla de visualización de JavaScript en la galería de páginas maestras del sitio. El tipo de contenido de la plantilla de visualización de JavaScript tiene algunas columnas de sitio especiales agregadas que ayudarán a especificar el elemento de destino (vista, formulario, elemento web, etc. .) donde se implementará la representación personalizada del archivo JavaScript.

Aquí está el antes y el después:
ingrese la descripción de la imagen aquí

Lista inicial: cree una lista personalizada antes

ingrese la descripción de la imagen aquí

Elementos resultantes

Para conocer el proceso paso a paso sobre cómo lograr esto, consulte este enlace.

Donde en lugar de ctx.CurrentItem.Sales, puede consultar su status campo nombre interno en la lista.

Microsoft deshabilitó todo esto en las versiones 2016 y posteriores, todavía funciona en la versión SP anterior y en Experiencias no modernas

Ver: 13 de junio de 2017 Microsoft bloqueó el manejo del marcado HTML en los campos calculados de SharePoint: cómo recuperar la misma funcionalidad


Respuesta original:

Si no te importa:

  • Siempre obedeciendo la forma de hacer las cosas de Microsoft SharePoint 2013
  • escribir un archivo JavaScript separado
  • Subirlo en algún lugar de SharePoint
  • Creando una conexión JSlink donde quiera que quieras ejecutarla
  • o jugar con webparts adicionales

entonces la RSC es la mejor opción

Si tu:

  • No tienen miedo de usar algo que ha funcionado desde 2010 (y funciona en SP2010)
  • no quiero crear archivos separados para mostrar la lógica
  • desea una solución que funcione sin importar dónde se muestre una columna de vista
  • quiere una solución que se pueda envolver en una plantilla de lista
  • funciona incluso si hay varias vistas de la misma lista en una página

Luego, podría agregar la lógica de JavaScript a una columna calculada.

Establezca el tipo de datos en Número y evaluará su HTML / JavaScript

Cree una columna calculada "ColorStatus" Pegue la fórmula:

=[Status]
""

Y establezca el Tipo de datos en número.
Agregar a la vista predeterminada
Hacer no agregar a los tipos de contenido (o la fórmula se mostrará como texto en los formularios) ¡esto solo funciona en vistas!

Descripción detallada de cómo funciona en: http://www.viewmaster365.com/#/How

Por supuesto que existen inconvenientes;
el más grande es que el contenido HTML / Javascript se muestra como texto en los mensajes de alerta

La parte divertida es que puede usar todas sus habilidades de fórmulas de SharePoint en el Y[Status]Y parte para obtener el resultado que desee.

Nos encantaría que puedieras compartir esta división si te fue útil.

¡Haz clic para puntuar esta entrada!
(Votos: 2 Promedio: 4.5)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *