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:
El esquema de la propiedad de entrada se parece a la siguiente fórmula:
Table({Flavor: "Strawberry",UnitPrice: 1.99, QuantitySold:20})
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 |
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")
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}
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})
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):
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})
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.
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.
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
- Fórmulas de comportamiento para componentes
- En desuso: Asignar campos de componentes mediante la opción del menú desplegable
- Componentes de lienzo
- Biblioteca de componentes
- Administración del ciclo de vida de la aplicación de biblioteca de componentes (ALM)
- Agregar elementos multimedia a un componente
- Fórmulas de comportamiento para componentes
- Power Apps component framework
- Agregar componentes de lienzo a una página personalizada en una aplicación basada en modelos