Vincula widgets con datos

App Maker facilita la conexión de la IU de tu aplicación a los datos mediante la vinculación de datos. La vinculación de datos establece un vínculo bidireccional entre una propiedad de widget y una fuente de datos. Este vínculo permite que tus widgets accedan y actualicen datos de modelos, relaciones y otras propiedades de App Maker.

Fuentes de datos

Las fuentes de datos proporcionan a los widgets una forma sencilla de acceder a los datos. Proporcionan una lista de items que representan datos de algún tipo, por lo general, registros de modelos de datos o relaciones de registros. Además, tienen un item único que representa el elemento de la lista de items que se encuentra seleccionado. Los widgets usan la lista para acceder a los registros, editar relaciones y mucho más.

Puedes ver la fuente de datos actual de un widget en su propiedad datasource en el Editor de propiedades. Los widgets heredan su fuente de datos de su widget superior, a menos que asignes uno diferente de forma explícita. Solo puedes asignar fuentes de datos de widgets de diseño. Todos los demás widgets heredan sus fuentes de datos, por lo que suele ser útil usar los widgets de diseño para agrupar otros widgets de forma visual y lógica.

Fuentes de datos de modelos

App Maker crea una fuente de datos de modelo de forma automática para cada modelo que agregues. Las fuentes de datos de modelos actúan como puentes entre los widgets en una app y los datos en el servidor. Una fuente de datos compila su lista de items a partir de una consulta enviada al servidor. Los widgets pueden usar esa lista para crear, leer, actualizar y borrar registros del modelo.

Obtén más información sobre fuentes de datos de modelos.

Fuentes de datos de relación

Las fuentes de datos de relación son una extensión de las fuentes de datos de modelos que te permiten acceder y modificar relaciones en un modelo seleccionado. Usan la herencia para encontrar el registro de la fuente de datos del widget superior que se encuentra seleccionado y recuperar una lista de registros relacionados para ese registro.

La propiedad de items de una fuente de datos de relación es una lista de todos los registros relacionados con el registro actual del widget superior. Su item es un registro único de esa lista. Debido a que el item de una fuente de datos de relación es un registro, es posible que una fuente de datos de relación esté basada en otra fuente de datos de relación.

Obtén más información sobre fuentes de datos de relación.

Más fuentes de datos

Si bien las fuentes de datos modelo y de relación son las más comunes, App Maker te permite usar cualquier propiedad de tu app como fuente de datos. Por ejemplo, puedes usar grupos de usuarios o propiedades personalizadas como fuentes de datos. Para acceder a otras fuentes de datos, haz clic en Avanzado en la parte inferior de la ventana emergente Elegir fuente de datos.

Vinculaciones

Una vinculación es un vínculo bidireccional entre una propiedad de widget y una propiedad diferente que, por lo general, es una propiedad de la fuente de datos de ese widget. Debido a que las vinculaciones son bidireccionales, un cambio a una propiedad vinculada se refleja en la otra. Por ejemplo, podrías vincular la propiedad de value de un cuadro de texto a un campo de EmployeeName en una fuente de datos de modelos de una app integrada. Los usuarios podrían usar el cuadro de texto para actualizar los nombres de los empleados en el servidor. Además, cuando se produce un cambio en un nombre en el servidor, se actualiza el texto que se muestra en el cuadro de texto de forma automática.

Agregar vinculaciones

Para abrir el selector de vinculación, haz clic en arrow_drop_downchevron_rightVinculación junto a una propiedad de widget en el Editor de propiedades y, luego, haz clic en la propiedad. Si Vinculación ya está visible, simplemente haz clic en la propiedad.

El selector de vinculación te permite agregar vinculaciones mediante la declaración de rutas de acceso a las vinculaciones que le indican a App Maker el lugar en el que se encuentra una propiedad vinculada en relación con el widget actual. El selector tiene los dos modos siguientes:

  • Simple: el selector de vinculación simple hace una lista de las propiedades del elemento actual de la fuente de datos y de forma automática crea una ruta de vinculación según tu selección. Se abre de forma predeterminada, para los widgets que posean una fuente de datos, cuando no se definió una vinculación, o cuando la vinculación definida coincide con la selección.

  • Avanzado: el selector de vinculación avanzado te permite vincular las propiedades de la app. Usa el asistente que se encuentra en la parte superior del selector para generar una ruta o escribe la tuya en el campo Expresión de vinculación en la parte inferior. Accede al selector avanzado con un clic en Abrir Avanzado en el selector de vinculación simple. También se abre de forma predeterminada para los widgets sin fuentes de datos y para los widgets con fuentes de datos cuando una vinculación definida no coincide con una selección en el selector de vinculación simple. Haz clic en Menos… para mostrar el selector de vinculación simple.

Expresiones de vinculación

Una expresión de vinculación es una expresión de JavaScript que te permite realizar operaciones en la salida de las rutas de vinculación. Una expresión de vinculación única puede incluir varias rutas de vinculación, pero solo una expresión de JavaScript. Si necesitas más de una expresión de JavaScript, usa la expresión de vinculación para llamar a una secuencia de comandos de cliente y proporciona las rutas de vinculación como parámetros.

App Maker vuelve a calcular las expresiones de vinculación cuando cambia el valor de una ruta de vinculación en la expresión. Las expresiones de vinculación solo afectan la forma en que los widgets muestran los datos. No pueden cambiar los datos reales en una ruta de vinculación. Por lo tanto, no puedes usar expresiones de vinculación en el campo de value de los widgets de entrada. En vez de eso, usa rutas de vinculación simples.

Ejemplo de expresión de vinculación: "Hello, " + @user.username + ". My name is " + @widget.name + "."

Proyecciones

Las proyecciones te permiten acceder a las propiedades de los registros en la lista de items de una fuente de datos. Accede a las proyecciones con la opción ..projections.. en el asistente de vinculación avanzado, o usa el operador de proyección .. en una ruta de acceso a la vinculación. Por ejemplo, para una fuente de datos Employees con una propiedad de name, @datasources.Employee.items..name muestra una lista de todos los nombres de los empleados.

Propiedades personalizadas

Las propiedades personalizadas son propiedades a nivel de página que almacenan datos para una sesión de usuario única. Las propiedades personalizadas son útiles cuando necesitas vincular las propiedades de varios widgets a un valor único. Por ejemplo, vincula la propiedad visible de varios widgets de menú a una propiedad personalizada booleana ShowAll para activar o desactivar la visibilidad de esos widgets como un grupo.

Si quieres crear propiedades personalizadas, selecciona el panel principal de una página y haz clic en el grupo Propiedades personalizadas en el Editor de propiedades. Accede a las propiedades personalizadas de la página actual desde el selector de vinculación avanzado. Para ello, usa la opción de properties en el asistente o el acceso directo @properties en una expresión de vinculación. Para acceder a las propiedades personalizadas de una página diferente, usa la opción de page en el asistente o el acceso directo de @pages.

Recursos adicionales

  1. Propiedades y vinculaciones: obtén información conceptual y detallada sobre las propiedades y vinculaciones.
  2. Fuentes de datos: obtén más información sobre fuentes de datos de modelos y de relación.
  3. Instructivo para conectar modelos de datos: obtén experiencia práctica en fuentes de datos de relación.
  4. API del cliente y fuentes de datos: Consulta todas las propiedades y métodos de las fuentes de datos disponibles en las secuencias de comandos del cliente.