Лучший отвечающий
изменение цвета в списке задач в sharepoint online

Вопрос
-
У меня список задач надо что бы менялись цвета строки по полю "Состояние задачи" - не начата, в процессе выполнение, Завершена.
написал ниже код в сраничке добавил веб част редактор сценариев но в списке так и не изменились цвета подскажите где ощибка
SP.SOD.executeFunc("clienttemplates.js", "SPClientTemplates", function() {SPClientTemplates.TemplateManager.RegisterTemplateOverrides({
OnPostRender: function(ctx) {var statusColors = {
'Не начата' : '#FFF1AD',
'В процессе выполнения' : '#FFD800',
'Завершена' : '#01DF3A'
};var rows = ctx.ListData.Row;
for (var i=0;i<rows.length;i++)
{
var status = rows[i]["Состояние задачи"];
var rowId = GenerateIIDForListItem(ctx, rows[i]);
var row = document.getElementById(rowId);
row.style.backgroundColor = statusColors[status];
}
}
});});10 июня 2016 г. 9:29
Ответы
-
если есть проблемы с добавлением через плагин, вставьте код непосредственно в веб-часть "Редактор скриптов"
предварительно добавив веб-часть на страницу
мой блог Немного о SharePoint
- Помечено в качестве ответа isKairat 16 июня 2016 г. 8:04
- Изменено Иван ПродановMicrosoft contingent staff, Moderator 16 июня 2016 г. 11:42 personal data
16 июня 2016 г. 3:30 -
Добрый день
Думаю что причина в том, что вы обращаетесь к полю по отображаемому имени.
попробуйте так:
SP.SOD.executeFunc("clienttemplates.js", "SPClientTemplates", function() { SPClientTemplates.TemplateManager.RegisterTemplateOverrides({ OnPostRender: function(ctx) { var statusColors = {'Не начата' : '#FFF1AD', 'В процессе выполнения' : '#FFD800', 'Завершена' : '#01DF3A' }; var rows = ctx.ListData.Row; for (var i=0;i<rows.length;i++) { var status = rows[i]["Status"]; var rowId = GenerateIIDForListItem(ctx, rows[i]); var row = document.getElementById(rowId); row.style.backgroundColor = statusColors[status]; } } }); });
мой блог Немного о SharePoint
мой блог Немного о SharePoint
- Изменено Kaplin VladimirModerator 20 июня 2016 г. 19:28
- Помечено в качестве ответа Elina Lebedeva 22 июня 2016 г. 9:42
20 июня 2016 г. 6:50Модератор
Все ответы
-
Здравствуйте.
Рекомендую Вам задать Ваш вопрос на форуме Sharepoint Online, где можете получить самый точный ответ.
Мнения, высказанные здесь, являются отражением моих личных взглядов, а не позиции корпорации Microsoft. Вся информация предоставляется "как есть" без каких-либо гарантий.
10 июня 2016 г. 10:34Модератор -
Добрый день
Думаю что причина в том, что вы обращаетесь к полю по отображаемому имени.
попробуйте так:
SP.SOD.executeFunc("clienttemplates.js", "SPClientTemplates", function() { SPClientTemplates.TemplateManager.RegisterTemplateOverrides({ OnPostRender: function(ctx) { var statusColors = {'Не начата' : '#FFF1AD', 'В процессе выполнения' : '#FFD800', 'Завершена' : '#01DF3A' }; var rows = ctx.ListData.Row; for (var i=0;i<rows.length;i++) { var status = rows[i]["Status"]; var rowId = GenerateIIDForListItem(ctx, rows[i]); var row = document.getElementById(rowId); row.style.backgroundColor = statusColors[status]; } } }); });
мой блог Немного о SharePoint
- Предложено в качестве ответа Иван ПродановMicrosoft contingent staff, Moderator 10 июня 2016 г. 11:29
10 июня 2016 г. 11:17Модератор -
Добрый день
Думаю что причина в том, что вы обращаетесь к полю по отображаемому имени.
попробуйте так:
SP.SOD.executeFunc("clienttemplates.js", "SPClientTemplates", function() { SPClientTemplates.TemplateManager.RegisterTemplateOverrides({ OnPostRender: function(ctx) { var statusColors = {'Не начата' : '#FFF1AD', 'В процессе выполнения' : '#FFD800', 'Завершена' : '#01DF3A' }; var rows = ctx.ListData.Row; for (var i=0;i<rows.length;i++) { var status = rows[i]["Status"]; var rowId = GenerateIIDForListItem(ctx, rows[i]); var row = document.getElementById(rowId); row.style.backgroundColor = statusColors[status]; } } }); });
мой блог Немного о SharePoint
10 июня 2016 г. 12:04 -
10 июня 2016 г. 12:18Модератор
-
для CSR можно воспользоваться cisar
сам им особо не пользуюсь. но для маленьких решений вполне
этот код тестировал в нем
мой блог Немного о SharePoint
10 июня 2016 г. 12:20Модератор -
у меня работает
мой блог Немного о SharePoint
Добрый день!
а как Вы установили скрипт в web части списка задач?
13 июня 2016 г. 10:33 -
в конкретном случае я подключил через плагин указанный выше (cisar). Плагин предлагает шаблон кода, но я на его место вставил ваш и немного скорректировал. Плагин создает файл js в библиотеке и подключает его к веб-части представления через js linck
мой блог Немного о SharePoint
- Изменено Kaplin VladimirModerator 14 июня 2016 г. 6:56
14 июня 2016 г. 6:45Модератор -
в конкретном случае я подключил через плагин указанный выше (cisar). Плагин предлагает шаблон кода, но я на его место вставил ваш и немного скорректировал. Плагин создает файл js в библиотеке и подключает его к веб-части представления через js linck
подключил плагин но где должно быть js файл - No CSR-enabled webparts found on the page. в веб части JS-ссылку указал js файла свой но в откладке файла выходить такое ошибка - Failed to load resource: the server responded with a status of 404 (Not Found)
мой блог Немного о SharePoint
15 июня 2016 г. 12:05 -
если есть проблемы с добавлением через плагин, вставьте код непосредственно в веб-часть "Редактор скриптов"
предварительно добавив веб-часть на страницу
мой блог Немного о SharePoint
15 июня 2016 г. 12:08Модератор -
если есть проблемы с добавлением через плагин, вставьте код непосредственно в веб-часть "Редактор скриптов"
предварительно добавив веб-часть на страницу
мой блог Немного о SharePoint
- Помечено в качестве ответа isKairat 16 июня 2016 г. 8:04
- Изменено Иван ПродановMicrosoft contingent staff, Moderator 16 июня 2016 г. 11:42 personal data
16 июня 2016 г. 3:30 -
Добрый день
Думаю что причина в том, что вы обращаетесь к полю по отображаемому имени.
попробуйте так:
SP.SOD.executeFunc("clienttemplates.js", "SPClientTemplates", function() { SPClientTemplates.TemplateManager.RegisterTemplateOverrides({ OnPostRender: function(ctx) { var statusColors = {'Не начата' : '#FFF1AD', 'В процессе выполнения' : '#FFD800', 'Завершена' : '#01DF3A' }; var rows = ctx.ListData.Row; for (var i=0;i<rows.length;i++) { var status = rows[i]["Status"]; var rowId = GenerateIIDForListItem(ctx, rows[i]); var row = document.getElementById(rowId); row.style.backgroundColor = statusColors[status]; } } }); });
мой блог Немного о SharePoint
мой блог Немного о SharePoint
- Изменено Kaplin VladimirModerator 20 июня 2016 г. 19:28
- Помечено в качестве ответа Elina Lebedeva 22 июня 2016 г. 9:42
20 июня 2016 г. 6:50Модератор