sharepoint - добавить пользовательский столбец в список через объектную модель - PullRequest
2 голосов
/ 16 июня 2009

У меня проблемы с выяснением того, как добавить пользовательский тип столбца в список с объектной моделью.

SPFieldCollection.Add () имеет параметр SPFieldType, но он должен быть одним из перечисляемых значений в перечислении Microsoft.SharePoint.SPFieldType, поэтому его нельзя использовать для создания столбцов пользовательского типа.

Затем я попытался использовать SPFieldCollection.CreateNewField (), но когда я вызываю SPField.Update () для возвращаемого значения, я получаю исключение: «ArgumentException не обработан. Значение не попадает в ожидаемый диапазон.».

Я вижу ссылку на SPFieldCollection.AddFieldAsXml () здесь: Как добавить настраиваемый столбец в существующий шаблон списка WSS , но вряд ли есть какая-либо информация, и я не уверен, что это правильный путь.

ОБНОВЛЕНИЕ: Я нашел сообщение на AddFieldAsXml: http://weblogs.asp.net/bsimser/archive/2005/07/21/420147.aspx, и оказалось, что это очень легко и хорошо для меня работает. Публикация в любом случае в надежде, что это поможет кому-то еще.

Ответы [ 2 ]

3 голосов
/ 16 июня 2009

SPFieldCollection.AddFieldAsXml () - это путь, насколько я могу судить. Смотрите здесь пример: http://weblogs.asp.net/bsimser/archive/2005/07/21/420147.aspx

1 голос
/ 31 марта 2010
 Try with:

 SPField newField = null;
 newField= web.Fields.CreateNewField("MyFieldTypeName", fieldName); 
 web.Fields.Add(newField);

 newField = web.Fields[fieldName];

 // set some properties
 newField.ShowInDisplayForm = false;
 newField.ShowInViewForms = true;
 newField.Update();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...