Некоторое время назад появилась задача произвести манипуляции с полем (скрыть/показать) на форме просмотра.
Я решил пойти по пути CSR.
'use strict'; 'use strict'; (function () { var ctx = {}; ctx.Templates = {}; ctx.Templates.Fields = { 'Status':{ 'DisplayForm': AddIdInField } }; SPClientTemplates.TemplateManager.RegisterTemplateOverrides(ctx); function AddIdInField(ctx) { console.log(ctx.CurrentFieldValue) return '' + SPField_FormDisplay_Default(ctx) + ''; } })();
что делает скрипт
Для поля Status переопределяет свой шаблон рендера и возвращаем стандартный шаблон отображения поля обернутый в DIV с id поля.
что имеем
1. значение поля (в примере выводится в консоль)
2. div c id, что позволяет нам обратиться к нему и произвести манипуляции
Как пользоваться:
Указать свой id поля и указать требуемый шаблон рендера (вместо SPFieldNote_Display).
Шаблоны для разных видов полей можно посмотреть тут
Здравствуйте, Владимир! А есть ли возможность изменять размеры DispForm, EditForm?
ОтветитьУдалитьдобрый день.
ОтветитьУдалитьтолько заметил вопрос.
много возможно, что именно нужно?