Eventos en formularios y cuadrículas en aplicaciones basadas en modelos

Los eventos de formularios y cuadrículas inician todo el código del lado cliente en aplicaciones controladas por modelos. Se asocia una función específica en una biblioteca de JavaScript (recurso web de script) que se va a ejecutar cuando se produce un evento. Esta función se denomina controlador de eventos. Cada controlador de eventos especifica una sola función dentro de una biblioteca de JavaScript y los parámetros que pueden pasarse a la función.

Puede asociar controladores de eventos solo a algunos eventos mediante la interfaz de usuario. En el caso de los eventos que no se pueden asociar a través de la interfaz de usuario, la API de cliente proporciona métodos que puede usar para adjuntar controladores de eventos.

Adición o eliminación de funciones de controlador de eventos en formularios mediante la interfaz de usuario

Para agregar o quitar funciones de controlador de eventos para eventos en la nueva interfaz unificada:

  1. Vaya a Power Apps.

  2. En el panel de navegación izquierdo, selecciones Datos y después seleccione Tablas.

  3. En la lista de tablas, seleccione la tabla donde desea agregar los controladores de eventos .

  4. Seleccione la pestaña Formularios en la barra de comandos y, a continuación, seleccione el formulario donde desea agregar el controlador de eventos.

    Captura de pantalla de la pestaña Formularios que muestra la lista de formularios de una tabla en Power Apps.

  5. Seleccione la pestaña Eventos . Verá los controladores de eventos Al guardar y Al cargar .

    Captura de pantalla de la pestaña Eventos que muestra los controladores de eventos Al guardar y Al cargar formulario.

  6. Para agregar un controlador de eventos para el evento de cambio, seleccione la columna y, a continuación, seleccione la pestaña Evento .

    Captura de pantalla de la pestaña Eventos de columna que muestra la configuración del controlador de eventos Al cambiar.

Formularios de edición masiva

De forma predeterminada, los controladores de eventos no se ejecutan cuando un formulario está en modo de edición masiva.

Para habilitar un controlador de eventos en modo de edición masiva, modifique el xml de formulario buscando el elemento pertinente event y creando o estableciendo el BehaviorInBulkEditForm atributo Enableden . Actualmente, este comportamiento solo se admite para eventos OnLoad.

Para obtener más información sobre la personalización de Form XML, vea Cuándo editar el archivo de personalizaciones, Personalizar formularios y el esquema XML de formulario.

Para determinar cuándo se ejecuta un controlador de eventos en un formulario en modo de edición masiva, use el getFormType método .

Adición o eliminación de funciones de controlador de eventos mediante código de API de cliente

Use los métodos siguientes para agregar y quitar controladores de eventos para eventos que no se pueden asociar a través de la interfaz de usuario:

Eventos Controlador de eventos
Atributo OnChange Métodos addOnChange y removeOnChange
Formulario OnLoad Métodos formContext.ui addOnLoad y removeOnLoad
Formulario Cargado Métodos formContext.ui addLoaded y removeLoaded
Datos de formulario OnLoad Métodos formContext.data addOnLoad y removeOnLoad
Formulario OnSave Métodos addOnSave y removeOnSave
Control de búsqueda PreSearch Métodos addPreSearch y removePreSearch
Control kbsearch OnResultOpened Métodos addOnResultOpened y removeOnResultOpened
Control kbsearch OnSelection Métodos addOnSelection y removeOnSelection
Control kbsearch PostSearch Métodos addOnPostSearch y removeOnPostSearch

Importante

El contexto de ejecución se pasa automáticamente como primer parámetro a las funciones que establezca mediante el código. Para más información, consulte Contexto de ejecución de la API de cliente.

Canalización de eventos de formulario

Puede definir hasta 50 controladores de eventos para cada evento. La sección Controladores de eventos de la pestaña Eventos del cuadro de diálogo Propiedades del formulario muestra el orden de los controladores de eventos y cada controlador de eventos se ejecuta en ese orden.

Use los métodos setSharedVariable y getSharedVariable para pasar una variable común entre los controladores de eventos (funciones). Use el método getDepth del contexto de ejecución para comprender la secuencia de ejecución del controlador de eventos en relación con otros controladores de eventos.

Comprender el modelo de objetos de la API de cliente
Contexto de ejecución de la API de cliente
Eventos (referencia de la API de cliente)