<nativehr> 0x80070057 </nativehr><nativestack></nativestack> При создании поля выбора в списке Sharepoint - PullRequest
3 голосов
/ 17 февраля 2012

Я программно создаю сайт sharepoint 2010 с помощью веб-метода. Когда сайт создан - он запускает приемник событий «функция активирована». В этом приемнике событий я создаю списки на сайте и добавляю к ним поля.

Одним из полей, которые я создаю, является поле выбора (раскрывающийся список). Я добавляю несколько вариантов выбора к этому элементу управления, но обнаруживаю, что при создании сайта, если я выпадаю из поля, в списке нет параметров. Благодаря веб-исследованиям я понял, что мне нужно вызвать метод обновления в выбранной мной области. Как только я это сделал, при создании сайта возникло исключение со следующим описанием: 0x80070057 Не очень полезно.

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

SPFieldChoice fldTransmittalStatus =   
(SPFieldChoice)newList.Fields.CreateNewField(Microsoft.SharePoint.SPFieldType.Choice.ToString(), Constants.FIELD_TRANSMITTAL_STATUS);
newList.Fields.Add(fldTransmittalStatus);                  
fldTransmittalStatus.EditFormat = SPChoiceFormatType.Dropdown;
fldTransmittalStatus.Choices.Add("Sent");
fldTransmittalStatus.Choices.Add("Downloaded");
fldTransmittalStatus.Choices.Add("Received");
fldTransmittalStatus.Choices.Add("Resent");
fldTransmittalStatus.Choices.Add("Cancelled");
fldTransmittalStatus.Update(); // when present, this line causes the site creation to fail
. . . . 
. . . . 
newList.Update();

Я также включаю это поле в представление по умолчанию.

SPView defaultView = newList.DefaultView;
defaultView.ViewFields.Add(newList.Fields.GetField(Constants.FIELD_TRANSMITTAL_STATUS));

1 Ответ

1 голос
/ 17 февраля 2012

Попробуйте обновить список, прежде чем вызывать метод обновления поля

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