Compartir a través de


Asignar campos de entrada de un componente

Un componente puede recibir valores de entrada para emitir o procesar datos mediante propiedades de entrada personalizadas. En este artículo, aprenderá a trabajar con dichos componentes que esperan una o más propiedades de entrada con un esquema específico para la tabla o registro dado, y cómo asignar los campos de entrada del componente a las columnas de origen de datos.

Sugerencia

Para saber cuáles son las propiedades de entrada y salida personalizadas en los componentes, consulte Propiedades personalizadas en componentes.

Asignar columnas

Use la función RenameColumns() para cambiar el nombre de una o más columnas de una tabla para que coincida con el esquema de propiedad de entrada para la selección de la columna de entrada.

Por ejemplo, considere un componente que espera una entrada de tabla con el siguiente formato:

Sabor UnitPrice QuantitySold
Fresa 1,99 20
Chocolate 2,99 45

La propiedad de entrada espera el tipo de datos de la tabla:

La propiedad de entrada personalizada espera el tipo de datos de la tabla.

El esquema de la propiedad de entrada se parece a la siguiente fórmula:

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

Fórmula de propiedad de entrada personalizada definida como valores de tabla y muestra.

La aplicación que consume este componente tiene la tabla IceCreams que no coincide con el esquema del componente:

FlavorName Precio SaleNumber
Fresa 1,99 20
Chocolate 2,99 45

Esquema de la tabla IceCreams.

Para asignar los campos correctos, use la función RenameColumn() función para cambiar el nombre de las columnas esperadas.

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

Aplicación que usa un componente que usa la asignación de propiedades de entrada personalizada con las columnas correctas usando la función RenameColumns.

Los campos de entrada que espera el componente ahora se asignan con las columnas correspondientes de origen de datos.

Asignar registros

Use la función With() para asignar un solo registro.

Por ejemplo, continuando desde el ejemplo anterior para las columnas de asignación, la propiedad de entrada personalizada de un componente dentro de una aplicación espera un tipo de registro con el siguiente esquema:

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

Fórmula de propiedad de entrada personalizada definida como valores de registro y muestra.

Dado que el origen de datos IceCreams espera nombres de columna como FlavorName, Precio, y SaleNumber, tendremos que cambiar la asignación del registro una vez que se agregue el componente a la aplicación.

Use la función With() para seleccionar las columnas de la tabla IceCreams y asígnelos a los campos de entrada del componente:

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

Registro de componente en la aplicación asignado al esquema origen de datos.

La siguiente animación muestra el ejemplo de un componente agregado a la aplicación que muestra el registro seleccionado de la galería (encima del componente):

Animación que muestra la selección de un registro de la galería anterior cambiando el texto de la instancia del componente a continuación.

Asignación de tablas

Use la función ForAll() para asignar una tabla de registros con los registros esperados por el componente agregado a la aplicación.

Por ejemplo, al final del ejemplo asignar columnas, puede utilizar la función ForAll() para asignar toda la tabla con las columnas específicas para apuntar a los campos del componente para cada fila:

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

Tabla de mapas usando la función ForAll() para todos los registros.

Asignar usando menú desplegable (obsoleto)

Puede usar la pestaña Avanzado para un componente agregado a una aplicación que espera la propiedad de entrada de la tabla o tipo de registro, y seleccione las asignaciones de campo usando la opción desplegable. Esta asignación se asigna de forma predeterminada y, a menos que seleccione manualmente los campos de asignación adecuados, es posible que la asignación no produzca los resultados esperados.

Por ejemplo, la siguiente animación muestra la fórmula que se actualiza para cambiar el nombre de las columnas. El componente en pantalla no cambia la asignación de campos, ya que la selección de campos predeterminada que usa este menú desplegable debe actualizarse manualmente.

Método en desuso para seleccionar la asignación de campos mediante el menú desplegable en la sección de propiedades avanzadas de un componente agregado a una aplicación.

Este método de seleccionar el mapeo usando el menú desplegable ha sido pasado a en desuso. En su lugar, utilice los métodos de asignación columna, registro, o tabla como se describió anteriormente en este artículo.

Todavía puede usar la opción desplegable para elegir la asignación de aplicaciones existentes, aunque no se recomienda. Para las nuevas aplicaciones, esta opción no estará disponible de forma predeterminada. Para activar o desactivar esta capacidad en desuso, vaya a Configuración > Próximas funciones > Retirado, y elija Permitir la asignación automática de campos para entradas de componentes.

Permitir asignación automática de campos para configuración de entradas de componentes.

Al activar la configuración, asegúrese de guardar y volver a abrir la aplicación en Power Apps Studio. Una vez reabierta, actualice la fórmula de la propiedad de entrada para activar la validación de la fórmula, de modo que las opciones desplegables comiencen a aparecer en el panel de propiedades Avanzadas.

Consulte también