SharePoint 2010. PeopleEditor. Установка значения
Что делаем
Задаем программно значения для SharePoint'овского контрола PeopleEditor
Смотрим
Берем reflector и смотрим исходный код контрола. Находим свойство CommaSeparatedAccounts. Исходя из названия свойства делаем выводы о том, что надо всего лишь указать значения через запятую и восхититься простой использования данного контрола.
Пробуем
Запускаем приложение и видим, что не работает контрол, так как мы хотим. Выясняется, что это свойство работает только для одного значения. Те, кто работает с SharePoint'ом не первый год вряд ли удивляться этому и полезут искать дальше
Делаем
Чтобы PeopleEditor умел принимать значения программно, надо "запихнуть" их в ArrayList и только потом скормить их контролу. Примерно вот так:
- var al = new ArrayList();
- foreach (var user in [СписокЮзеров]) //Здесь нужны только LoginName или Name
- {
- al.Add(new PickerEntity { Key = user.LoginName, IsResolved = true });
- }
- [НашПиплЕдитор].UpdateEntities(al);
Теперь все работает. Наслаждаемся...