Informació de referència sobre la plantilla de pantalla de persones per a les aplicacions de llenç

Per a les aplicacions de llenç de Power Apps, enteneu com cada control significatiu de la plantilla de pantalla de persones contribueix a la funcionalitat predeterminada general de la pantalla. En aquesta anàlisi en profunditat es presenten fórmules de comportament i els valors d'altres propietats que determinen com els controls responen a les entrades de l'usuari. Per a una discussió d'alt nivell sobre la funcionalitat per defecte d'aquesta pantalla, vegeu la informació general de la pantalla de persones.

En aquest tema es ressalten alguns controls importants i s'expliquen les expressions o les fórmules amb què es defineixen diverses propietats (com ara Items i OnSelect) d'aquests controls:

Requisit previ

Familiaritzar-se amb com afegir i configurar pantalles i altres controls a mesura que creeu una aplicació a Power Apps.

Control TextSearchBox

Un parell de controls més interactuen o tenen una dependència al quadre de cerca de text:

  • Si un usuari comença a escriure qualsevol text, UserBrowseGallery es fa visible.
  • Quan un usuari selecciona una persona dins UserBrowseGallery, el contingut de la cerca es restableix.

Control UserBrowseGallery

  • Propietat: Items
    Valor: lògica per cercar usuaris quan l'usuari comença a escriure:

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

Els resultats de la cerca emplenen els elements d'aquesta galeria mitjançant l'operació Office365.SearchUser. L'operació pren el text del Trim(TextSearchBox) com el seu terme de cerca i retorna els 15 primers resultats en funció d'aquesta cerca. TextSearchBox s'inclou en una funció Trim() perquè una recerca d'usuari en espais no és vàlida.

L'operació Office365Users.SearchUser s'inclou en una funció If(!IsBlank(Trim(TextSearchBox.Text)) ... ) perquè només heu de trucar a l'operació quan el quadre de cerca conté text introduït per l'usuari. Això millora el rendiment.

Control UserBrowseGallery Title

Control UserBrowseGallery Title

  • Propietat: Text
    Valor: ThisItem.DisplayName

    Mostra el nom de visualització de la persona des del seu perfil Office 365.

  • Propietat: OnSelect
    Valor: codi per afegir l'usuari a una col·lecció de nivell d'aplicació i, a continuació, seleccionar l'usuari:

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

La selecció d'aquest control fa tres coses de manera simultània:

  • Defineix la variable _selectedUser com l'element seleccionat.
  • Restableix el terme de cerca a TextSearchBox.
  • Afegeix l'element seleccionat a la col·lecció MyPeople, una recopilació de totes les persones que l'usuari de l'aplicació ha seleccionat.

Control UserBrowseGallery ProfileImage

Control UserBrowseGallery ProfileImage

  • Propietat: Image
    Valor: lògica per recuperar la foto de perfil d'un usuari.

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

El control Image recupera la imatge de l'usuari amb l'operació Office365Users.UserPhoto. No obstant, abans de fer-ho, comproveu dues coses:

  • Si el camp d'identificador està buit o no està buit. Això impedeix que el control Image provi de recuperar una foto d'usuari abans que la galeria s'hagi emplenat amb els resultats de la cerca.
  • Si l'usuari té una foto (amb l'operació Office365Users.UserPhotoMetadata). Això impedeix que la cerca Office365Users.UserPhoto torni una excepció si l'usuari no té cap foto de perfil.

Tingueu en compte que si no s'ha recuperat una imatge, el control Image està en blanc i el control iconUser és visible.

Control PeopleAddedGallery

  • Propietat: Items
    Valor: MyPeople

Aquesta és la col·lecció de persones inicialitzades o afegides seleccionant el control UserBrowseGallery Title.

Control PeopleAddedGallery Title

Control PeopleAddedGallery Title

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

Defineix la variable _selectedUser com l'element seleccionat a EmailPeopleGallery.

Control PeopleAddedGallery iconRemove

Control PeopleAddedGallery iconRemove

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

Cerca el registre a la col·lecció MyPeople, on UserPrincipalName coincideix amb el valor de UserPrincipalName de l'element seleccionat i, a continuació, suprimeix aquest registre de la col·lecció.

Passos següents