SAP UI5 - Enlace de datos

En SAP UI5, data binding conceptse utiliza para actualizar los datos automáticamente vinculando los datos con los controles que contienen los datos de la aplicación. Con el enlace de datos, puede vincular controles simples como campo de texto, botón simple a datos de la aplicación, y los datos se actualizan automáticamente cuando hay un nuevo valor.

Mediante el enlace de datos bidireccional, los datos de la aplicación se actualizan cuando cambia el valor del control enlazado. El valor se puede cambiar a través de diferentes métodos, como la entrada del usuario, etc.

En SAP UI5, se pueden usar diferentes modelos de datos para el enlace de datos. Estos modelos de datos admiten diferentes funciones:

Modelo JSON

El modelo JSON se utiliza para vincular objetos JavaScript a controles. Este modelo de datos es un modelo del lado del cliente y se sugiere para conjuntos de datos pequeños. No proporciona ningún mecanismo para la paginación o carga del lado del servidor.

Las características clave incluyen:

  • El modelo JSON para el enlace de datos admite datos en formato de notación JavaScript.
  • Admite enlace de datos bidireccional.

Creating a model instance −

Var oModel = new sap.ui.model.json.JSONModel(dataUrlorData);

Modelo XML

El modelo XML de enlace de datos le permite vincular los controles a datos XML. Se utiliza para objetos del lado del cliente y para pequeños conjuntos de datos. No proporciona ningún mecanismo para la paginación o carga del lado del servidor.

Las características clave incluyen:

  • El modelo XML de enlace de datos admite datos XML.
  • También es compatible con el enlace de datos bidireccional.

Creating a model instance −

Var oModel = new sap.ui.model.xml.XMLModel(dataUrlorData);

Modelo OData

El modelo OData es un modelo del lado del servidor, por lo que los datos completos están disponibles en el lado del servidor. El lado del cliente solo puede ver filas y campos y no puede usar la clasificación y el filtrado en el lado del cliente. Es necesario enviar esta solicitud al servidor para completar estas tareas.

El enlace de datos en el modelo OData es unidireccional, pero puede habilitar el enlace bidireccional mediante el soporte de escritura experimental.

Las características clave incluyen:

  • El modelo OData de enlace de datos admite datos compatibles con Odata.
  • Este modelo de datos le permite crear solicitudes OData y manejar respuestas.
  • Es compatible con el enlace bidireccional experimental.

Creating a model instance −

Var oModel = new sap.ui.model.odata.ODataModel (dataUrl [,useJSON, user, pass]);

Asignar el modelo

Puede utilizar el método setModel para asignar el modelo a controles o núcleos específicos.

Sap.ui.getcore().setModel(oModel);

Para vincular un modelo a la vista:

Var myView = sap.ui.view({type:sap.ui.core.mvc.ViewType.JS, viewname:”view name”});
myView.setModel(oModel);

Para vincular un modelo a un control:

Var oTable = sap.ui.getCore().byId(“table”);
oTable.setModel(oModel);

Puede vincular las propiedades de un control a las propiedades del modelo. Puede vincular las propiedades de un modelo a un control utilizando el método bindproperty:

oControl.bindProperty(“controlProperty”, “modelProperty”);
or by using below methodvar
oControl = new sap.ui.commons.TextView({
   controlProperty: “{modelProperty}”
});

Enlace de agregación

Puede utilizar el enlace de agregación para enlazar una colección de valores, como enlazar varias filas a una tabla. Para usar la agregación, debe usar un control que actúe como plantilla.

Puede definir el enlace de agregación mediante el método bindAgregation.

oComboBox.bindaggregation( “items”, “/modelaggregation”, oItemTemplate);