Добавить поля в новую форму/редактирование с помощью пользовательского определения списка (библиотека документов)
-
16-10-2019 - |
Вопрос
Я использую шаблон «Определение списка" Visual Studio 2010 "для создания нового определения списка для библиотеки документов.
Ничего особенного - я хочу добавить только пару полей в список и представление по умолчанию. Добавление полей в <Fields>
в schema.xml
и соответствующий <FieldRef>
к <Views>
Это не проблема, поэтому у меня есть список с моими пользовательскими полями.
Я только не могу заставить их появиться в новых/редактирующих формах. я думал ShowInDisplayForm="TRUE"
а также ShowInNewForm="TRUE"
Был ли путь, но, похоже, ничего не делает - тогда я понял, что новый шаблон определения списка добавляет его собственный »Upload.aspx, FileDlg.htm, EditDlg.htm
".
Я пытался положить <ows:ListProperty Select="MyColumn">
в editdlg.htm. Без изменений. Теперь я видел, что VS2010 ставит много кода в schema.xml
под <Form Type="NewFormDialog" Path="EditDlg.htm">
который начинается с <ListFormOpening>
.
Мой вопрос: как работать с шаблоном VS, чтобы добавить мои пользовательские поля во все соответствующие диалоги (редактирование/новое/представление)?
Изменить: выяснить, как решить это, удалив
<ContentTypes>
ссылка из Schema.xml
Как описано здесь. Анкет Я до сих пор не понимаю, является ли это правильным способом сделать это, так как теперь я снял тип контента из библиотеки (тогда как я все еще могу добавить документы просто отлично ...). Объяснение кому -нибудь?
Решение
«Проблема» заключается в том, что каждый список и библиотека связаны с типом контента. К сожалению, Microsoft ударила, что отключив «разрешить управление типом контента» по умолчанию. Когда вы создаете новое поле, как вы, он добавляется в список, но не связан с типом контента, от списка зависит. Если вы перейдете в настройки списка и включите управление типом контента, вы можете добавить новые «поля списка» в тип контента, и вы увидите их.
Лучший подход к добавлению полей в шаблон списка - это создание собственных полей и добавление их в тип контента. Затем вы создаете шаблон списка на основе этого типа контента (просто с VS) или добавляете этот тип контента в список.
Другие советы
Удаление ссылки ContentTypes не обязательно является правильным, но я уверен, что это неправильный путь. Они там по причине.
У вас есть два варианта. Во -первых, вы можете создать тип контента и указать поля таким образом. Видеть http://msdn.microsoft.com/en-us/library/ff728096.aspx Для получения информации о том, как создать пользовательский список через тип контента.
Во -вторых, вы можете использовать пользовательский тип списка и просто добавить свои собственные поля.
После добавления чистого определения списка в Soluiton через Visual Studio добавьте в любые поля, которые вы хотите в
<Fields />
раздел.Замените ContentTyperef для ID 0x01 (элемент) на новый пустой. Смотрите этот пост в блоге для образца и полного объяснения. http://jopx.blogspot.com/2007/05/sharepoint-2007-how-to-create-custom.html