Скрытие типа настраиваемого поля SharePoint в режиме редактирования и создания - PullRequest
0 голосов
/ 19 мая 2009

Я пытаюсь создать пользовательский тип поля в SharePoint.

Значение этого элемента управления установлено на основе другого поля в том же списке. Из-за этого требования это поле должно отображаться только в режиме отображения, а не в режиме редактирования или создания.

Как мне это обеспечить?

Если я просто закодирую элемент управления ASCX, чтобы не отображать поле, поле будет отображаться в режиме редактирования и создания следующим образом.

альтернативный текст http://www.mannsoftware.com/blog/Lists/Photos/121308_0204_CrossSiteLo6.png

Ответы [ 5 ]

1 голос

Обычно вы устанавливаете для свойства SPField.ReadOnlyField значение True, чтобы добиться желаемого поведения для любого поля. (Не забывайте SPField.Update соответственно!) Я полагаю, что есть эквивалентный атрибут CAML для определений списка.

Тем не менее, в вашем классе элементов управления, производном от BaseFieldControl, вы можете просто переопределить метод RenderFieldForInput () и не вызывать базовую реализацию, чтобы ничего не отображалось во время Create или Edit. Однако это все равно будет отображать строку таблицы поля в форме, что, вероятно, не то, что вам нужно. Таким образом, чтобы реализовать желаемое поведение, используйте ReadOnlyField и переопределите Update () в своем классе SPField (не для управления полем), чтобы всегда иметь значение True.

0 голосов
/ 06 июля 2011

Установка свойств ShowInEditForm и ShowInNewForm решила эту проблему для меня.

0 голосов
/ 20 мая 2009

Вы пытались установить поле как скрытое? http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spfield.hidden.aspx

Пользовательские страницы FORMS для нового элемента и элемента редактирования (NewForm.aspx и EditForm.aspx) были бы другим способом достижения этого.

0 голосов
/ 19 мая 2009

Посмотрите на этот пост в блоге. Я думаю, что это даст вам некоторые идеи. Концепция использует различные шаблоны рендеринга в зависимости от режима.

http://sharepoint.nailhead.net/2008/04/creating-rendering-template-that.html

0 голосов
/ 19 мая 2009

Может быть проще изменить это по списку, перейдя в раздел Advanced в List Settings, установив Allow management of content types? в Yes, а затем отредактировав тип контента для изменения значение вашего поля 'hidden'.

...