Fórmulas y funcionalidad
Al usar fórmulas, tiene la posibilidad de cambiar el modo en que los controles responden y funcionan. Por ejemplo, en determinados escenarios, puede ocultar un control en la pantalla hasta que se haya realizado otra acción. Basta con escribir una fórmula simple para actualizar la propiedad Visible del control. O también, en lugar de ocultar el control, puede configurar la propiedad DisplayMode en View, lo que elimina la posibilidad de editar ese control. Hay muchos más escenarios donde puede implementar este tipo de fórmula en una aplicación de lienzo. Mediante el uso de fórmulas en la aplicación de lienzo para modificar las propiedades DisplayMode o Visible de un control, puede desarrollar una aplicación más fácil de usar.
Echemos un vistazo a cómo puede aplicar esta fórmula para mostrar y ocultar un botón en una galería en función de la información de nuestro origen de datos. En este ejemplo, creamos una colección llamada "TestScoresCollection". Para seguir el ejercicio, puede abrir una aplicación de lienzo ya existente y crear una nueva pantalla.
Introduzca un control Botón en la pantalla.
Establezca la propiedad OnSelect del botón en lo siguiente:
ClearCollect(TestScoresCollection,{Name:"Student 1", TestScore:"B"},{Name:"Student 2", TestScore:"C"},{Name:"Student 3", TestScore:"A"},{Name:"Student 4", TestScore:"C"},{Name:"Student 5", TestScore:"A"})
Para generar TestScoresCollection, mantenga presionada la tecla Alt en su teclado (o ponga la aplicación en modo de vista previa) y seleccione el botón.
Inserte un control de galería vertical a la pantalla y cambie Diseño por Título y subtítulo.
Seleccione TestScoresCollection como el origen de datos. La galería ahora debe parecerse a la siguiente captura de pantalla.
Seleccione la primera fila de la galería e inserte un nuevo botón en la propia galería.
Cambie la propiedad text del botón a "Retake Test".
Con el botón aún seleccionado, vaya a la propiedad Visible e ingrese el siguiente código, de modo que este botón solo sea visible para calificaciones de estudiantes que no sean "A" o "B".
If(ThisItem.TestScore = "A" Or ThisItem.TestScore = "B", false,true)
Tenga en cuenta que, al introducir este código, el botón desaparece para los estudiantes que hayan obtenido una "A" o una "B". Si busca en el campo de entrada de fórmula la propiedad Visible, observará el botón Copilot. Podemos usar Copilot para saber más sobre esta fórmula o cualquier otra en la aplicación.
Seleccione el botón Copilot en la barra de fórmulas y seleccione Explicar esta fórmula. Debería ver algo similar a esta captura de pantalla.
Puede usar la característica Explicar esta fórmula de Copilot para comprender las fórmulas de toda la aplicación. Además, puede utilizar el botón Copiar para obtener la explicación de copiloto y agregarla como un comentario en su código. Para agregar comentarios en el código, incluya una doble barra diagonal "//" delante de cualquier línea de código. La doble barra diagonal hace que Power Apps ignore el código posterior, por lo que es útil para la documentación.
//This expression checks if the TestScore of the current item is equal to "A" or "B". If it is, the expression returns false. Otherwise, it returns true.
Aunque usamos esta fórmula para la propiedad View de un botón, puede aplicar lógica para influir en el modo de visualización del botón. En este caso, no agregamos ningún código a la propiedad OnSelect de nuestro botón "Retake Test", pero queda claro que estamos controlando el comportamiento de la aplicación ajustando la respuesta de los controles. Nuestra fórmula se evalúa como verdadera o falsa, que es todo lo que Power Apps busca en la propiedad Visible. Podemos incluso acortar este código porque se trata de una respuesta true/false, pero hablaremos de ello en la siguiente unidad.