Hecgo.com Just relax & enjoy

5Oct/090

Sharepoint PeopleEditor control (AKA PeoplePicker)

Para usar el people picker en una página ASP.NET:

<SharePoint:PeopleEditor runat="server" ID="PE1" AutoPostBack="true" AllowEmpty="false" SelectionSet="User,SecGroup,SPGroup" BorderWidth="0" Width="200px" PlaceButtonsUnderEntityEditor="false" Rows="1"/>


Validación de al menos un usuario resuelto:

(PE1.Accounts.Count<1)

Guardando los usuarios seleccionados en una columna de tipo Person:

SPFieldUserValueCollection values = new SPFieldUserValueCollection();
foreach (PickerEntity entity in PE1.ResolvedEntities)
{
    SPFieldUserValue fuv = new SPFieldUserValue(SPContext.Current.Web, Convert.ToInt16(entity.EntityData[PeopleEditorEntityDataKeys.UserId]), entity.Description);
    values.Add(fuv);
}
oListItem["ColumnaTipoPersona"] = values;

 

Recuperando el valor guardado en una columna de tipo Person y asignación al control PeoplePicker:

// oListItem = SPListItem de la lista donde se encuentra la columna tipo Person:
SPFieldUserValue ppUser = new SPFieldUserValue(oWebsiteRoot, oListItem["ColumnaTipoPersona"].ToString());
PE1.CommaSeparatedAccounts  = ppUser.User.LoginName;


Para la asignación de valor tambien se puede usar directamente una cuenta de usuario con la forma “dominio\usuario”, sin embargo es recomendable asignar el valor desde la clase SPFieldUserValue, sobre todo cuando sean valores recuperados desde otro origen.

Referencias:

http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.webcontrols.peopleeditor.aspx

http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spfielduservalue.aspx

http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.webcontrols.pickerentity.aspx

Es posible realizar configuraciones especiales como incluir propiedades extra del directorio activo, delimitar las búsquedas dentro de un arbol del bosque del A.D., etc, vía la utilería stsadm:

http://technet.microsoft.com/en-us/library/cc263318.aspx

Comments (0) Trackbacks (0)

No comments yet.


Leave a comment

You must be logged in to post a comment.

No trackbacks yet.