Как вставить поле "Персона или группа" в список, используя 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.