Compartir a través de


Información de referencia sobre la plantilla de pantalla de personas para aplicaciones de lienzo

En el caso de las aplicaciones de lienzo en Power Apps, comprenda cómo cada control significativo de la plantilla de pantalla de personas contribuye a la funcionalidad general predeterminada de la pantalla. Esta inmersión profunda presenta las fórmulas de comportamiento y los valores de otras propiedades que determinan cómo responden los controles a la entrada del usuario. Para una discusión de alto nivel de la funcionalidad predeterminada de esta pantalla, consulte el resumen de la pantalla de personas.

Este tema resalta algunos controles significativos y explica las expresiones o fórmulas a las que se aplican varias propiedades (como Items y OnSelect) de estos controles:

Requisito previo

Familiaridad con cómo agregar y configurar pantallas y otros controles a medida que crea una aplicación en Power Apps.

Cuadro de búsqueda de texto

Control de TextSearchBox.

Varios otros controles interactúan o dependen del cuadro de búsqueda de texto:

  • Si un usuario comienza a escribir algún texto, UserBrowseGallery se hace visible.
  • Cuando un usuario selecciona a una persona dentro de UserBrowseGallery, los contenidos de búsqueda se restablecen.

Galería de explorar usuarios

Control UserBrowseGallery.

  • Propiedad: Items
    Valor: lógica para buscar usuarios cuando el usuario comienza a escribir:

    If( !IsBlank( Trim( TextSearchBox.Text ) ), 
        'Office365Users'.SearchUser(
            {
                searchTerm: Trim( TextSearchBox.Text ), 
                top: 15
            }
        )
    )
    

Los elementos de esta galería se rellenan con los resultados de búsqueda de la operaciónOffice365.SearchUser. La operación toma el texto en Trim(TextSearchBox) como término de búsqueda y devuelve los 15 resultados principales según esa búsqueda. TextSearchBox está encapsulado en una función Trim() porque la búsqueda de un usuario en espacios no es válida.

La operación Office365Users.SearchUser está envuelta en una función If(!IsBlank(Trim(TextSearchBox.Text)) ... ), porque solo necesita invocar la operación si el cuadro de búsqueda contiene texto introducido por el usuario. Esto mejora el rendimiento.

Control UserBrowseGallery Title

Control UserBrowseGallery Title.

  • Propiedad: Text
    Valor: ThisItem.DisplayName

    Muestra el nombre para mostrar de la persona de su perfil Office 365.

  • Propiedad: OnSelect
    Valor: código para agregar al usuario a una colección de nivel de aplicación y luego seleccionar el usuario:

    Concurrent(
        Set( _selectedUser, ThisItem ),
        Reset( TextSearchBox ),
        If( Not( ThisItem.UserPrincipalName in MyPeople.UserPrincipalName ), 
            Collect( MyPeople, ThisItem )
        )
    )
    

La selección de este control hace tres cosas simultáneamente:

  • Establece la variable __selectedUser al elemento seleccionado.
  • Restablece el término de búsqueda en TextSearchBox.
  • Agrega el elemento seleccionado a la colección MyPeople, una colección de todas las personas que el usuario de la aplicación ha seleccionado.

Control UserBrowseGallery ProfileImage

Control UserBrowseGallery ProfileImage.

  • Propiedad: Imagen
    Valor: lógica para recuperar la foto de perfil de un usuario.

    If( !IsBlank( ThisItem.Id ) && 
            'Office365Users'.UserPhotoMetadata( ThisItem.Id ).HasPhoto,
        'Office365Users'.UserPhoto( ThisItem.Id )
    )
    

El control Imagen recupera la imagen del usuario con la operación Office365Users.UserPhoto. Sin embargo, antes de hacerlo, verifica dos cosas:

  • Si el campo Id. está vacío o no vacío. Esto evita que el control Imagen intente recuperar una foto de usuario antes de que la galería se haya llenado con resultados de búsqueda.
  • Si el usuario tiene una foto (con la operación Office365Users.UserPhotoMetadata). Esto evita que la búsqueda Office365Users.UserPhoto devuelva una excepción si el usuario no tiene una foto de perfil.

Tenga en cuenta que si no se recupera una imagen, el control Imagen está en blanco, y el control iconUser es visible en su lugar.

Galería de personas agregadas

Control PeopleAddedGallery.

  • Propiedad: Items
    Valor: MyPeople

Esta es la colección de personas inicializadas o agregadas seleccionando el control UserBrowseGallery Title.

Control PeopleAddedGallery Title

Control PeopleAddedGallery Title.

  • Propiedad: OnSelect
    Valor: Set( _selectedUser, ThisItem )

Establece la variable _selectedUser en el elemento seleccionado en EmailPeopleGallery.

Control PeopleAddedGallery iconRemove

Control PeopleAddedGallery iconRemove.

  • Propiedad: OnSelect
    Valor: Remove( MyPeople, LookUp( MyPeople, UserPrincipalName = ThisItem.UserPrincipalName ) )

Busca el registro en la colección MyPeople, donde UserPrincipalName coincide con el UserPrincipalName del elemento seleccionado, y elimina ese registro de la colección.

Pasos siguientes

Nota

¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)

La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).