Задаем программно значения для 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);
Теперь все работает. Наслаждаемся...
ты лучше расскажи про
ОтветитьУдалитьPeopleEditor и
Namespace prefix 'xsd' is not defined. )))
народ тут голову ломает http://social.msdn.microsoft.com/Forums/pl-PL/sharepoint2010general/thread/90b3835c-6754-4bb6-9fd4-b74f16f236ff
Eugene, я целый день просидел, нашел в чем дело и придумал как решить проблему. Решение напишу здесь: http://blog.vitalyzhukov.ru 1 февраля
ОтветитьУдалить