SAP UI5 - Liaison de données

Dans SAP UI5, data binding conceptest utilisé pour mettre à jour automatiquement les données en liant les données aux contrôles qui contiennent les données d'application. À l'aide de la liaison de données, vous pouvez lier des contrôles simples comme un champ de texte, un bouton simple aux données d'application et les données sont automatiquement mises à jour lorsqu'il y a une nouvelle valeur.

À l'aide de la liaison de données bidirectionnelle, les données d'application sont mises à jour lorsque la valeur du contrôle lié change. La valeur peut être modifiée via différentes méthodes, comme l'entrée utilisateur, etc.

Dans SAP UI5, différents modèles de données peuvent être utilisés pour la liaison de données. Ces modèles de données prennent en charge différentes fonctionnalités -

Modèle JSON

Le modèle JSON est utilisé pour lier des objets JavaScript aux contrôles. Ce modèle de données est un modèle côté client et est suggéré pour les petits ensembles de données. Il ne fournit aucun mécanisme pour la pagination ou le chargement côté serveur.

Les principales caractéristiques comprennent -

  • Le modèle JSON pour la liaison de données prend en charge les données au format de notation JavaScript.
  • Il prend en charge la liaison de données bidirectionnelle.

Creating a model instance −

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

Modèle XML

Le modèle XML de liaison de données vous permet de lier les contrôles aux données XML. Il est utilisé pour les objets côté client et pour les petits ensembles de données. Il ne fournit aucun mécanisme pour la pagination ou le chargement côté serveur.

Les principales caractéristiques comprennent -

  • Le modèle XML de liaison de données prend en charge les données XML.
  • Il prend également en charge la liaison de données bidirectionnelle.

Creating a model instance −

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

Modèle OData

Le modèle OData est un modèle côté serveur, donc toutes les données sont disponibles côté serveur. Le côté client ne peut voir que les lignes et les champs et vous ne pouvez pas utiliser le tri et le filtrage côté client. Il est nécessaire d'envoyer cette demande au serveur pour effectuer ces tâches.

La liaison de données dans le modèle OData est à sens unique, mais vous pouvez activer la liaison bidirectionnelle à l'aide de la prise en charge de l'écriture expérimentale.

Les principales caractéristiques comprennent -

  • Le modèle OData de liaison de données prend en charge les données compatibles Odata.
  • Ce modèle de données vous permet de créer des requêtes OData et de gérer les réponses.
  • Il prend en charge la liaison bidirectionnelle expérimentale.

Creating a model instance −

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

Attribution du modèle

Vous pouvez utiliser la méthode setModel pour affecter le modèle à des contrôles ou à un noyau spécifiques.

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

Pour lier un modèle à afficher -

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

Pour lier un modèle à un contrôle -

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

Vous pouvez lier les propriétés d'un contrôle aux propriétés du modèle. Vous pouvez lier les propriétés d'un modèle à un contrôle à l'aide de la méthode bindproperty -

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

Liaison d'agrégation

Vous pouvez utiliser la liaison d'agrégation pour lier une collection de valeurs, comme la liaison de plusieurs lignes à une table. Pour utiliser l'agrégation, vous devez utiliser un contrôle qui agit comme un modèle.

Vous pouvez définir la liaison d'agrégation à l'aide de la méthode bindAgregation.

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