Как переопределить рендеринг полей SharePoint в EditForm? - PullRequest
2 голосов
/ 11 ноября 2009

У меня есть список с полем выбора, которое имеет множественный выбор, то есть множество флажков.

Я бы хотел сделать так, чтобы он был окружен рамкой, например тегом DIV с рамкой.

alt text (Фрейм должен быть в HTML-документе)

Как мне отредактировать шаблоны элементов управления / FLDTYPES.XML / Создать элемент управления / любую вещь, чтобы добиться этого?

Спасибо!

Ответы [ 3 ]

3 голосов
/ 11 ноября 2009

Похоже, вы на правильном пути, думая о шаблонах управления. Я думаю, что вы найдете некоторый успех, просто просматривая веб-страницы для создания настраиваемого типа поля SharePoint. Возможно, вы хотите унаследовать тип вашего поля от SPFieldMultiChoice, и файл ascx вашего элемента управления будет содержать ваш div и его стиль.

Для пользовательских типов полей обычно требуется создать:

  • Класс поля типа
  • Класс управления, представляющий визуализированный элемент управления для вашего типа поля
  • Файл ascx, содержащий html-леса для вашего обработанного элемента управления

Эта статья кажется хорошей отправной точкой: http://www.c -sharpcorner.com / Blogs / BlogDetail.aspx? BlogId = 1207

Записи SharePoint SDK для пользовательских типов полей также достаточно хороши для использования в качестве отправной точки.

2 голосов
/ 12 ноября 2009

Как сказал Райан, использование jQuery для окружения элемента управления с помощью div является самым чистым способом. Для этого нужно просто добавить ContentEditorWebPart (CEWP) на сайт и загрузить библиотеку jQuery для создания документации doc или, используя SharePoint Designer, любую папку) включить ссылку на библиотеку jQuery, добавив скрипт, подобный этому, на страницу через CEWP:

<script type="text/javascript" src="pathtojquerylibrary/jquery.js"> <script>

Затем вам нужно будет написать некоторый код javascript, также в CEWP, чтобы выбрать нужный элемент управления, добавить div к фрагменту родительского html, выбранного вами с помощью jquery, а затем вырезать / вставить выбранный html в новый div.

это будет выглядеть примерно так (этот код не является полным и, конечно, не проверен):

$('query').parent().append('<div></div>').append($('query').html()); 
// where 'query' is the jquery selector for the control you want
1 голос
/ 11 ноября 2009

Вы могли бы также рассмотреть подход клейкой ленты SharePoint - javascript / jQuery в веб-части редактора контента (CEWP)

В этом посте показан общий метод получения его в новой / редактируемой форме: -

Существует множество статей о SharePoint и jQuery, которые дадут вам идеи о том, как можно продвинуться дальше, чтобы добавить рамку вокруг флажков, несколько ссылок: -

Отказ от ответственности - Этот подход часто рекламируется как «без кода», когда реальность такова, что он скорее позволяет вам быстро «выполнить работу» (часто потому, что он обходит администраторов, контролирует изменения и т. Д.) И, вероятно, должен рассматриваться для взломать это. Мощный, но использовать соответствующим образом! Может быть, нужно учитывать одну вещь: если это перестает работать (пакет обновления, обновление до 2010, временные изменения и т. Д.), То в чем недостаток - я сомневаюсь, что пропущенная граница так важна?

См. jQuery - плохая помощь SharePoint для обсуждения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...