Некоторое время назад появилась задача произвести манипуляции с полем (скрыть/показать) на форме просмотра.
Я решил пойти по пути 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?
ОтветитьУдалитьдобрый день.
ОтветитьУдалитьтолько заметил вопрос.
много возможно, что именно нужно?