Partilhar via


Criar listas pendentes dependentes numa aplicação de tela

Quando cria listas pendentes dependentes (ou em cascata), os utilizadores selecionam uma opção numa lista para as opções de filtragem de outra lista. Muitas organizações criam listas dependentes para ajudar os utilizadores a preencherem os formulários de forma mais eficiente. Por exemplo, os utilizadores podem selecionar um país ou região para filtrar uma lista de cidades ou os utilizadores podem seleccionar uma categoria para mostrar apenas os códigos nessa categoria.

Como melhor prática, crie uma origem de dados para os valores nas listas "principal" e "subordinada" (por exemplo, países/regiões e cidades) que esteja separada da origem de dados que os utilizadores atualizam utilizando a aplicação. Se adotar esta abordagem, pode utilizar os mesmos dados principais e subordinados em mais do que uma aplicação, e pode atualizar esses dados sem voltar a publicar a aplicação ou aplicações que os utilizam. Pode chegar ao mesmo resultado utilizando uma coleção ou dados estáticos, mas não é recomendado para cenários empresariais.

Para o cenário neste tópico, os empregados da loja submetem problemas para uma lista de Incidentes através de um formulário. Os empregados especificam não apenas a localização da loja na qual o incidente ocorreu, mas também o departamento nessa localização. Nem todos os locais têm os mesmos departamentos, pelo que uma lista de Locais assegura que os empregados não podem especificar um departamento para uma localização que não tenha esse departamento.

Nota

Este artigo utiliza uma lista criada utilizando Listas Microsoft como a origem de dados. No entanto, todas as origens de dados tabulares funcionam da mesma forma. Dentro do Dataverse for Teams, precisará de ativar os controlos clássicos para obter o menu pendente clássico para trabalhar para este cenário.

Criar origens de dados

Uma lista de Localizações mostra os departamentos em cada local.

Localização Departamento
Eganville Confeitaria
Eganville Refeitório
Eganville Produtos frescos
Renfrew Confeitaria
Renfrew Refeitório
Renfrew Produtos frescos
Renfrew Farmácia
Renfrew Floral
Pembroke Confeitaria
Pembroke Refeitório
Pembroke Produtos frescos
Pembroke Floral

Uma lista de Incidentes mostra informações de contacto e informações sobre cada incidente. Crie a coluna de Data como uma coluna de Data, mas crie as outras colunas como colunas de Linha única de texto para simplificar a configuração e evitar avisos de delegação no Microsoft Power Apps.

Nome Próprio Apelido Número de Telefone Localização Departamento Descrição Date
Tonya Cortez (206) 555 - 1022 Eganville Produtos frescos Tive um problema com... 12/2/2019
Moses Laflamme (425) 555 - 1044 Renfrew Floral Tive um problema com… 13/2/2019

Por predefinição, as listas incluem uma coluna Título a qual não pode mudar o nome nem remover, e tem de conter dados para poder guardar um item na lista. Para configurar a coluna de forma a não necessitar de dados:

  1. Junto do canto superior direito, selecione o ícone de engrenagem e, em seguida, selecione Definições de lista.
  2. Na página Definições, selecione Título na lista de colunas.
  3. Em Requerer que esta coluna contenha informações, selecione Não.

Após essa alteração, pode ignorar a coluna Título ou pode removê-la da vista predefinida se, pelo menos, uma outra coluna for apresentada.

Abrir o formulário

  1. Abra a lista Incidentes e, em seguida, selecione Integrar -> Power Apps -> Personalizar formulários.

    Abra a lista Incidentes e, em seguida, selecione Power Apps > Personalizar formulários.

    É aberto um separador do browser com o formulário predefinido no Power Apps Studio.

  2. (opcional) No painel Campos, passe o rato sobre o campo Título, selecione as reticências (...) que aparecem e, em seguida, selecione Remover.

    Se tiver fechado o painel Campos, pode abri-lo novamente selecionando SharePointForm1 na barra de navegação esquerda e, em seguida, selecionando Editar campos no separador Propriedades do painel direito.

  3. (opcional) Repita o passo anterior para remover o campo Anexos do formulário.

    O formulário é apresentado apenas com os campos que adicionou.

    Formulário sem os campos Título e Anexos.

Substituir os controlos

  1. No painel Campos, selecione a seta junto de Localização.

    Se tiver fechado o painel Campos, pode abri-lo novamente selecionando SharePointForm1 na barra de navegação esquerda e, em seguida, selecionando Editar campos no separador Propriedades do painel direito.

  2. Abra a lista Tipo de controlo e, em seguida, selecione Valores Permitidos.

    Valores permitidos.

    O mecanismo de entrada é alterado para um controlo de Lista pendente.

  3. Repita estes passos para o cartão Departmento.

Lista Adicionar as Localizações

  1. Selecione Ver > Origens de Dados > Adicionar origem de dados.

  2. Selecione ou crie uma ligação SharePoint e, em seguida, especifique o site que contém a lista Localizações.

  3. Selecione a caixa de verificação para essa lista e, em seguida, seleccione Ligar.

    Painel de dados.

    A lista de ligações mostra a lista Incidentes, na qual o formulário é baseado e a lista Localizações, que identifica locais e departamentos no formulário.

    SharePoint origens de dados.

Desbloquear os cartões

  1. Selecione o cartão Localização, selecione o separador Avançado no painel direito e, em seguida, selecione Desbloquear para alterar as propriedades.

  2. Repita o passo anterior para o cartão Departmento.

Renomear os controlos

Se renomear os controlos, pode identificá-los com mais facilidade e os exemplos são mais fáceis de seguir. Para descobrir outras práticas recomendadas, consulte Documento técnico sobre Normas e Diretrizes de Codificação.

  1. No cartão Localização, selecione o controlo Pendente.

  2. Perto da parte superior do painel direito, mude o nome do controlo selecionado digitando ou colando ddLocation.

    Renomear um controlo.

  3. Repita os dois passos anteriores no cartão de Departamento para mudar o nome do controlo Pendente para a ddDepartment.

Configurar as localizações

  1. Defina a propriedade Itens de ddlocation para esta fórmula:

    Distinct(Locations, Location)

  2. (opcional) Enquanto mantém a tecla Alt pressionada, abra ddLocation e confirme que a lista mostra as três localizações.

Configurar os departamentos

  1. Selecione ddDepartment e, em seguida, no separador Propriedades do painel do lado direito, selecione Depende de.

  2. Em Controlo principal, certifique-se de que ddLocation aparece na lista superior e o Resultado é apresentado na lista inferior.

    Nota

    Se não pretender corresponder a uma cadeia de caracteres, mas no ID real da linha de dados, selecione ID em vez de Resultado.

  3. Em Campo correspondente, selecione Localizações na lista superior, selecione Localização na lista inferior e, em seguida, selecione Aplicar.

    Depende da ligação.

    A propriedade Itens de ddDepartment está definida para esta fórmula:

    Filter(Locations, Location = ddLocation.Selected.Result)

    Esta fórmula filtra os itens em ddDepartment com base no que é selecionado pelo utilizador no ddLocation. Tal configuração assegura que a lista "subordinada" dos departamentos reflete os dados para a sua localização "principal", como a lista de Localizações no SharePoint especifica.

  4. No separador Propriedades do painel direito, abra a lista junto a Valor e, em seguida, selecione Departamento.

    Este passo define o texto de apresentação das opções da coluna Departamento da lista Localizações no SharePoint.

    Valor do departamento.

Testar o formulário

Enquanto mantém a tecla Alt pressionada, abra a lista de localizações, selecione uma, abra a lista de departamentos e, em seguida, selecione uma.

As listas de localizações e departamentos refletem as informações existentes na lista Localizações no SharePoint.

Abra a lista de localizações, altere a seleção de Renfrew para Pembroke e, em seguida, abra a lista de departamentos.

Guardar e abrir o formulário (opcional)

  1. Abra o menu Ficheiro e, em seguida, selecione Guardar > Publicar para SharePoint > Publicar para SharePoint.

  2. No canto superior esquerdo, selecione a seta para trás e, em seguida, selecione Voltar ao SharePoint.

  3. Na barra de comandos, selecione Novo para abrir o seu formulário personalizado.

FAQ

Não consigo ver dados: as origens estão todas em branco ou têm os dados errados. Confirme se está a apresentar o campo correto para o controlo de uma das seguintes formas:

  • Selecione uma lista pendente e, em seguida, selecione a propriedade Valor no separador Propriedades do painel direito.

    Alterar lista pendente.

  • Selecione uma caixa de combinação e certifique-se de que o texto primário é o campo que pretende apresentar.

    Alterar caixa de combinação.

A minha lista pendente subordinada contém itens duplicados. Este sintoma provavelmente deve-se ao uso de uma coluna Pesquisa no SharePoint ou numa função de Opções no Power Apps. Para remover a duplicação, encapsule a função Distinct à volta dos dados devolvidos corretamente. Mais informações: função Distinct.

Limitações conhecidas

Esta configuração está disponível nos controlos de Lista pendente, bem como os controlos Caixa de combinação e Caixa de lista que permitem uma seleção de cada vez. Não é possível utilizar a configuração de Depende de para qualquer um desses controlos, se estes permitirem várias seleções. Esta abordagem não é recomendada para trabalhar com escolhas em Microsoft Dataverse.

A configuração Depende de não suporta coleções ou dados estáticos. Para configurar listas pendentes dependentes com estas origens, edite a expressão diretamente na barra de fórmulas. Além disso, o Power Apps não suporta a utilização de dois campos de escolha no SharePoint sem qualquer tabela de dados correspondente e não é possível definir um Campo correspondente nesta IU.

Nota

Pode indicar-nos as suas preferências no que se refere ao idioma da documentação? Responda a um breve inquérito. (tenha em atenção que o inquérito está em inglês)

O inquérito irá demorar cerca de sete minutos. Não são recolhidos dados pessoais (declaração de privacidade).