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:
- Junto do canto superior direito, selecione o ícone de engrenagem e, em seguida, selecione Definições de lista.
- Na página Definições, selecione Título na lista de colunas.
- 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
Abra a lista Incidentes e, em seguida, selecione Integrar -> Power Apps -> Personalizar formulários.
É aberto um separador do browser com o formulário predefinido no Power Apps Studio.
(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.
(opcional) Repita o passo anterior para remover o campo Anexos do formulário.
O formulário é apresentado apenas com os campos que adicionou.
Substituir os controlos
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.
Abra a lista Tipo de controlo e, em seguida, selecione Valores Permitidos.
O mecanismo de entrada é alterado para um controlo de Lista pendente.
Repita estes passos para o cartão Departmento.
Lista Adicionar as Localizações
Selecione Ver > Origens de Dados > Adicionar origem de dados.
Selecione ou crie uma ligação SharePoint e, em seguida, especifique o site que contém a lista Localizações.
Selecione a caixa de verificação para essa lista e, em seguida, seleccione Ligar.
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.
Desbloquear os cartões
Selecione o cartão Localização, selecione o separador Avançado no painel direito e, em seguida, selecione Desbloquear para alterar as propriedades.
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.
No cartão Localização, selecione o controlo Pendente.
Perto da parte superior do painel direito, mude o nome do controlo selecionado digitando ou colando ddLocation.
Repita os dois passos anteriores no cartão de Departamento para mudar o nome do controlo Pendente para a ddDepartment.
Configurar as localizações
Defina a propriedade Itens de ddlocation para esta fórmula:
Distinct(Locations, Location)
(opcional) Enquanto mantém a tecla Alt pressionada, abra ddLocation e confirme que a lista mostra as três localizações.
Configurar os departamentos
Selecione ddDepartment e, em seguida, no separador Propriedades do painel do lado direito, selecione Depende de.
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.
Em Campo correspondente, selecione Localizações na lista superior, selecione Localização na lista inferior e, em seguida, selecione Aplicar.
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.
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.
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.
Guardar e abrir o formulário (opcional)
Abra o menu Ficheiro e, em seguida, selecione Guardar > Publicar para SharePoint > Publicar para SharePoint.
No canto superior esquerdo, selecione a seta para trás e, em seguida, selecione Voltar ao SharePoint.
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.
Selecione uma caixa de combinação e certifique-se de que o texto primário é o campo que pretende apresentar.
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).