Mapear campos de entrada de um componente

Um componente pode receber valores de entrada para emitir ou processar dados usando propriedades de entrada personalizadas. Neste artigo, você aprenderá a trabalhar com esses componentes esperando uma ou mais propriedades de entrada com um esquema específico para essa tabela ou registro e como mapear os campos de entrada do componente para as colunas da fonte de dados.

Dica

Para saber quais são as propriedades personalizadas de entrada e saída em componentes, consulte Propriedades personalizadas nos componentes.

Mapear colunas

Use a função RenameColumns() para renomear uma ou mais colunas de uma tabela para corresponder ao esquema de propriedade de entrada para a seleção da coluna de entrada.

Por exemplo, considere um componente que espera uma entrada de tabela com o seguinte formato:

Flavor UnitPrice QuantitySold
Morango 1,99 20
Chocolate 2,99 45

A propriedade de entrada espera o tipo de dados da tabela:

A propriedade de entrada personalizada espera o tipo de dados da tabela.

O esquema da propriedade de entrada se parece com a seguinte fórmula:

Table({Flavor: "Strawberry",UnitPrice: 1.99, QuantitySold:20})

Fórmula de propriedade de entrada personalizada definida como valores de tabela e exemplo.

O aplicativo que consome este componente tem a seguinte tabela IceCreams que não corresponde ao esquema do componente:

FlavorName Preço SaleNumber
Morango 1,99 20
Chocolate 2,99 45

Esquema da tabela IceCreams.

Para mapear os campos corretos, use a função RenameColumn() para renomear as colunas esperadas.

RenameColumns(IceCreams,"cra56_flavorname","Flavor","cra56_price","UnitPrice","cra56_salenumber","QuantitySold")

Aplicativo que usa o componente que utiliza o mapeamento de propriedades de entrada personalizado com as colunas corretas usando a função RenameColumns.

Os campos de entrada que o componente espera agora são mapeados com as colunas correspondentes da fonte de dados.

Mapear registros

Use a função With() para mapear um único registro.

Por exemplo, continuando do exemplo anterior de colunas de mapeamento, a propriedade de entrada personalizada de um componente dentro de um aplicativo espera um tipo de registro com o seguinte esquema:

{Flavor: "Strawberry",UnitPrice: 1.99, QuantitySold: 20}

Fórmula de propriedade de entrada personalizada definida como valores de registro e exemplo.

Como a fonte de dados IceCreams espera nomes de coluna como FlavorName, Preço e SaleNumber, precisaremos alterar o mapeamento do registro assim que o componente for adicionado ao aplicativo.

Use a função With() para selecionar as colunas da tabela IceCream e mapeie-as para os campos de entrada do componente:

With(Gallery3.Selected,{Flavor:FlavorName,UnitPrice:Price,QuantitySold:SaleNumber})

Registro de componente no aplicativo mapeado para o esquema da fonte de dados.

A animação a seguir mostra o exemplo de um componente adicionado ao aplicativo que mostra o registro selecionado da galeria (acima do componente):

Animação que mostra a seleção de um registro da galeria acima alterando o texto da instância do componente abaixo.

Mapear tabelas

Use a função ForAll() para mapear uma tabela com os registros esperados pelo componente adicionado ao aplicativo.

Por exemplo, no fim do exemplo de mapeamento de colunas, você pode usar a função ForAll() para mapear a tabela inteira com as colunas específicas para apontar para os campos do componente de cada linha:

ForAll(IceCreams,{Flavor:FlavorName,UnitPrice:Price,QuantitySold:SaleNumber})

Mapear a tabela usando a função ForAll() para todos os registros.

Mapear usando a lista suspensa (obsoleto)

Você pode usar a guia Avançado de um componente adicionado a um aplicativo que espera a propriedade de entrada de tabela ou tipo de registro e selecionar os mapeamentos de campo usando a opção de lista suspensa. Esse mapeamento é atribuído por padrão e, a menos que você selecione manualmente os campos de mapeamento apropriados, ele pode não produzir os resultados esperados.

Por exemplo, a animação a seguir mostra a fórmula que está sendo atualizada para renomear colunas. O componente na tela não altera o mapeamento de campo, pois a seleção de campo padrão que usa essa lista suspensa precisa ser atualizada manualmente.

Método obsoleto para selecionar o mapeamento de campo usando a lista suspensa na seção de propriedades avançadas de um componente adicionado a um aplicativo.

Esse método de selecionar o mapeamento usando a lista suspensa foi descontinuado. Em vez disso, use os métodos de mapeamento coluna, registro outabela, conforme descrito anteriormente neste artigo.

Você ainda pode usar a opção de lista suspensa para escolher o mapeamento de aplicativos existentes, embora isso não seja recomendado. Para novos aplicativos, essa opção não estará disponível por padrão. Para ativar ou desativar esse recurso obsoleto, vá para Configurações > Recursos futuros > Desativado e escolha Permitir atribuição automática de campo para entradas de componente.

Configuração Permitir atribuição automática de campo para entradas de componente.

Ao ativar a configuração, salve e reabra o aplicativo no Power Apps Studio. Depois de reaberto, atualize a fórmula da propriedade de entrada para acionar a validação da fórmula para que as opções de lista suspensa comecem a aparecer no painel Propriedades avançadas.

Confira também