Как вставить поле "Персона или группа" в список, используя VS2013?

Я использую

string field = list.Fields.Add(StaticName, SPFieldType.User, true); SPFieldUser user = new SPFieldUser(list.Fields, field); user.AllowMultipleValues = allowMultiple; user.Required = Required; user.SelectionMode = mode; user.LookupField = "Name"; user.Update();

Пример кода для создания поля типа SPUser. Он прекрасно создает поле, но в отображаемом значении по умолчанию он дает сотрудникам значение "Учетная запись" вместо "Имя" или "Имя (при наличии). Как можно прагматически изменить это отображаемое значение на" Имя ".

я хочу этотВместо этого поля

Спасибо.

1 ответ

Вы можете достичь этого двумя способами:

Сразу после создания получите поле снова и используйте его (overcast) в качестве поля SPFieldLookup, поскольку SPUserField является дочерним для SPFieldLookup:

SPFieldLookup userfield = (SPFieldLookup)list.Fields["fieldname"];
Userfield.LookupField = "ImnName"; 
Userfield.Update();

или вы можете создать поле с помощью метода AddFieldAsXml следующим образом:

list.Fields.AddFieldAsXml(@"<Field Name='TypeUser' ID='{99bd898d-c181-4ca9-8397-c9fc032fcdf9}' DisplayName='TypeUser' Type='User' ShowField='ImnName' ></Field>");
list.Update();

Вы также должны взглянуть на свойство Presence и установить его в true.

Другие вопросы по тегам