У меня есть требование, согласно которому я должен отображать сохраненных пользователей в элементе управления редактором людей SharePoint. Для этого я сохраняю имена пользователей в столбце Люди/Группа. И я использую следующий код для передачи этих пользователей в управление редактором людей:
SetPeopleEditor(item, Constants.FieldNames.IT_DIRECTOR, pe_ITDirector, oWeb);
определение вышеупомянутого метода показано ниже:
private PickerEntity SetPeopleEditor(SPListItem item, string columnName, PeopleEditor peopleEditor, SPWeb web)
{
ArrayList entityArrayList = new ArrayList();
PickerEntity entity = null;
if (item[columnName] != null)
{
char[] to_splitter = { ';' };
string to_list = item[columnName].ToString(); // Reads value stored in SPList. (i.e., "Domain\User1; Domain\User2")
string[] arr = to_list.Split(to_splitter);
string user = string.Empty;
for (int i = 1; i < arr.Length; i++)
{
if ((i % 2) != 0)
{
user = arr[i].Substring(arr[i].IndexOf("#") + 1);
entity = new PickerEntity();
entity.Key = user;
entity.IsResolved = true;
entity = peopleEditor.ValidateEntity(entity);
entityArrayList.Add(entity);
}
}
}
return entity;
}
Но, к сожалению, элемент управления всегда показывает пустое значение. Как я могу добиться этого, заполнив данные в элементе управления редактором людей?