En ocasiones se necesita algo más que un formulario
Al compilar aplicaciones de lienzo en Power Apps, recurre a las galerías para mostrar registros del origen de datos y a los formularios para ver, crear y editar un registro individual, pero a veces los formularios no son suficientes. En esos escenarios, Power Apps tiene funciones para actualizar los orígenes de datos tabulares de forma directa.
Crear y editar directamente un registro
En este módulo, obtendrá información sobre el uso de la función Patch para actualizar los orígenes de datos sin usar formularios directamente.
La función Patch se suele usar cuando es necesario realizar acciones en los datos sin interacción del usuario, de forma repetitiva, o bien cuando el diseño de la aplicación no permite el uso de formularios. Por ejemplo, si quiere actualizar un origen de datos de registro cada vez que un usuario hace clic en un botón para ir a otra pantalla, podría usar la fórmula para la propiedad OnSelect del botón.
Patch(LoggingTable, Defaults(LoggingTable), {WhoClicked:
User().FullName, WhenClicked: Now()}); Navigate(NextScreen,
ScreenTransition.Cover)
Esta fórmula crearía un nuevo registro en el origen de datos denominado LoggingTable. La columna WhoClicked se establece en la propiedad FullName del usuario que ha iniciado sesión, y la columna WhenClicked se establece en la fecha y hora de cuando se ha hecho clic en el botón. Esto abrirá la pantalla denominada NextScreen mediante la transición de pantalla de portada.
Eliminar un registro
También hay funciones disponibles para eliminar uno o más registros del origen de datos. Estas funciones son las siguientes:
Remove y RemoveIf: estas funciones se usan para quitar o eliminar registros del origen de datos.
Clear: use la función Clear para quitar todos los registros de una colección.
Por ejemplo, si quiere permitir al usuario eliminar un registro de un control Galería, agregue un icono de Papelera a la Galería en la que se muestra el origen de datos CustomerOrders y, después, establezca la propiedad OnSelect del icono en lo siguiente.
Remove(CustomerOrders, ThisItem)
Esta fórmula eliminará el registro del elemento en el que se mostraba el icono de Papelera del origen de datos CustomerOrders. No habrá ninguna confirmación, por lo que podría considerar la posibilidad de implementar un cuadro de diálogo emergente o de comprobación para confirmar que el usuario desea realmente eliminar el registro.
Cambios masivos en registros
Las funciones Patch y Remove se usan para influir en un único registro. Si el cambio tiene que afectar a más de un registro, hay dos opciones:
Use la función ForAll, que se ha descrito en el módulo anterior, para recorrer una tabla de datos y ejecutar una función Patch o Remove para todos los registros de la tabla.
Use la función Collect para escribir de una tabla en otra. Cada registro de la tabla de origen se agrega como un registro independiente a la tabla de destino.
Estos temas se describen en otras rutas de aprendizaje de Power Apps y no en esta.
Las colecciones son orígenes de datos
Es importante recordar que estas funciones pueden usar una colección como destino. Patch, Remove y RemoveIf se pueden usar para modificar orígenes de datos tabulares y colecciones. Cuando compile aplicaciones más complejas, es muy habitual almacenar datos en colecciones y trabajar con esos elementos, y estas funciones serán una parte importante de esa manipulación.
El resto de este módulo se dedicará a la actualización de un origen de datos. Recuerde que un origen de datos puede ser un origen de datos tabulares o una colección, a menos que se indique lo contrario.
En la unidad siguiente, aprenderá a crear y modificar registros.