Exercício - Medir em MR e filtrar no Power Apps
Nesta unidade, você usará alguns dos principais componentes funcionais do Power Apps. Isso inclui Medir em MR e métodos de filtragem. Os usuários podem medir distância, área e volume no mundo real com o componente Measure in MR do Power Apps.
Filtragem espacial usando Measure in MR
O recurso Measure in MR é usado para filtrar espacialmente os produtos que podem ser facilmente colocados no mundo real de acordo com as medições recebidas durante a sessão de medição. Algumas fórmulas básicas são usadas para realizar a filtragem.
Navegue até à página inicial do . Na guia Inserir, expanda a lista suspensa Realidade Mista e selecione Medir em RM.
Posicione a medida no botão MR conforme mostrado na figura e configure as seguintes propriedades:
- Texto: Filtrar por dimensões
- Unidade de medida: Centímetros
- Tipo de medição: Freeform
No Home page , adicione um Galeria selecionando a Galeria >Vertical . Altere o nome do Galeria para Measure_gallery.
Posicione a Galeria Vertical logo abaixo do botão Filtrar por Dimensões. Configure a propriedade Layout selecionando Título, Subtítulo e corpo.
Configure a propriedade Items doMeasure_gallery adicionando a seguinte linha:
MeasureInMR1.Measurements
Remova o Separador e o NextArrow. Posicione o Título, Subtítuloe Corpo equidistantes uns dos outros, conforme mostrado na imagem.
Configurar a propriedade Text dos três rótulos da seguinte maneira:
Vamos adicionar um ícone Recarregar para permitir que os usuários refaçam as medições se não estiverem satisfeitos. Na guia Inserir, expanda a lista suspensa Ícones e selecione o ícone Recarregar.
Posicione o ícone como mostrado na imagem e configure a propriedade OnSelect da seguinte maneira:
UpdateContext({galleryvisible:false});
Dica
Você pode personalizar a fonte, o tamanho da fonte e o estilo da fonte para corresponder ao design do seu aplicativo. No entanto, para uma melhor experiência do usuário, mantenha uma fonte consistente em todo o aplicativo.
Depois que o componente Medida de em MR estiver totalmente configurado, passamos para a filtragem espacial de . Aqui, filtramos espacialmente os produtos com base nos valores Width, Depthe Height recebidos na sessão Measure in MR.
Navegue até a página Produtos, depois configure a propriedade Itens do Gallery_products da seguinte forma:
If( ID = 1 And Measure_gallery.Selected.Height = 0, (Filter('Easy Sales',(ProductCategory = "Sofa") And ((Depth < Measure_gallery.Selected.BoundingDepth And Width < Measure_gallery.Selected.BoundingWidth) Or (Depth < Measure_gallery.Selected.BoundingWidth And Width < Measure_gallery.Selected.BoundingDepth)))), ID = 1 And Measure_gallery.Selected.Height > 0, (Filter('Easy Sales',(ProductCategory = "Sofa") And ((Depth < Measure_gallery.Selected.BoundingDepth And Width < Measure_gallery.Selected.BoundingWidth And Height <= Measure_gallery.Selected.Height) Or (Depth < Measure_gallery.Selected.BoundingWidth And Width < Measure_gallery.Selected.BoundingDepth And Height <= Measure_gallery.Selected.Height)))), ID = 1, Filter('Easy Sales',ProductCategory = "Sofa"), ID = 2, Filter('Easy Sales',ProductCategory = "Chair"), ID = 2 And Measure_gallery.Selected.Height = 0, (Filter('Easy Sales',(ProductCategory = "Chair") And ((Depth < Measure_gallery.Selected.BoundingDepth And Width < Measure_gallery.Selected.BoundingWidth) Or (Depth < Measure_gallery.Selected.BoundingWidth And Width < Measure_gallery.Selected.BoundingDepth)))), ID = 2 And Measure_gallery.Selected.Height > 0, (Filter('Easy Sales',(ProductCategory = "Chair") And ((Depth < Measure_gallery.Selected.BoundingDepth And Width < Measure_gallery.Selected.BoundingWidth And Height <= Measure_gallery.Selected.Height) Or (Depth < Measure_gallery.Selected.BoundingWidth And Width < Measure_gallery.Selected.BoundingDepth And Height <= Measure_gallery.Selected.Height)))), ID = 3, Filter('Easy Sales',ProductCategory = "Table"), ID = 3 And Measure_gallery.Selected.Height = 0, (Filter('Easy Sales',(ProductCategory = "Table") And ((Depth < Measure_gallery.Selected.BoundingDepth And Width < Measure_gallery.Selected.BoundingWidth) Or (Depth < Measure_gallery.Selected.BoundingWidth And Width < Measure_gallery.Selected.BoundingDepth)))), ID = 3 And Measure_gallery.Selected.Height > 0, (Filter('Easy Sales',(ProductCategory = "Table") And ((Depth < Measure_gallery.Selected.BoundingDepth And Width < Measure_gallery.Selected.BoundingWidth And Height <= Measure_gallery.Selected.Height) Or (Depth < Measure_gallery.Selected.BoundingWidth And Width < Measure_gallery.Selected.BoundingDepth And Height <= Measure_gallery.Selected.Height)))) )
Importante
Forneça nomes apropriados para a lista SharePoint e Gallery para evitar erros no futuro. Mantenha os nomes dos componentes nas fórmulas para evitar confusão.
Observação
A Filtragem Espacial não está incluída na página Tapetes, uma vez que foi adicionada outra funcionalidade específica do produto. A área medida na Medida na sessão de RM será usada para estimar o preço do tapete selecionado.
Dica
Salve seu aplicativo com freqüência, selecionando a guia File na parte superior e selecionando a opção Salvar. Se solicitado, selecione a opção A nuvem e, em seguida, selecione Salvar.
Calcular o preço com base na área
Aceda à página Carpet_details, adicione um Rótuloe, em seguida, renomeie-o para Area_carpets.
Adicione outro rótulo vazio ao lado do rótulo Area_carpets e, em seguida, configure a propriedade Text do rótulo em branco da seguinte forma para exibir a área calculada:
Measure_gallery.Selected.Area&"cm²"
Configure o rótulo ao lado do rótulo Preço da seguinte forma para exibir o preço calculado:
"$"&Measure_gallery.Selected.Area * content_carpets.'Price/cm2'
Depois de implementar as etapas acima, seu aplicativo filtrará espacialmente os produtos e calculará o preço exato dos tapetes com base em suas medições do mundo real.