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:
- A través de la propiedad JSLink del elemento web
- 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:
- Cambiar la página al modo de edición
- Agregar
Script Editor
webpart justo debajo del webpart de vista de lista. - Ponga el código especificado envolviéndolo usando
script
código de etiqueta en el Editor de secuencias de comandos, por ejemplo: - Guardar la pagina
Resultados
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:
Lista inicial: cree una lista personalizada antes
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.