SAP UI5 - Associazione dati

In SAP UI5, data binding conceptviene utilizzato per aggiornare i dati automaticamente associando i dati ai controlli che contengono i dati dell'applicazione. Utilizzando l'associazione dati, è possibile associare controlli semplici come il campo di testo, il pulsante semplice ai dati dell'applicazione ei dati vengono aggiornati automaticamente quando è presente un nuovo valore.

Utilizzando l'associazione dati a due vie, i dati dell'applicazione vengono aggiornati quando il valore del controllo associato cambia. Il valore può essere modificato tramite diversi metodi, come l'input dell'utente, ecc.

In SAP UI5, è possibile utilizzare diversi modelli di dati per il data binding. Questi modelli di dati supportano diverse funzionalità:

Modello JSON

Il modello JSON viene utilizzato per associare oggetti JavaScript ai controlli. Questo modello di dati è un modello lato client ed è consigliato per piccoli set di dati. Non fornisce alcun meccanismo per il paging o il caricamento lato server.

Le caratteristiche principali includono:

  • Il modello JSON per il data binding supporta i dati nel formato di notazione JavaScript.
  • Supporta il data binding a due vie.

Creating a model instance −

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

Modello XML

Il modello XML di data binding consente di associare i controlli ai dati XML. Viene utilizzato per oggetti lato client e per piccoli set di dati. Non fornisce alcun meccanismo per il paging o il caricamento lato server.

Le caratteristiche principali includono:

  • Il modello XML di data binding supporta i dati XML.
  • Supporta anche il data binding bidirezionale.

Creating a model instance −

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

Modello OData

Il modello OData è un modello lato server, quindi tutti i dati sono disponibili sul lato server. Il lato client può vedere solo righe e campi e non puoi utilizzare l'ordinamento e il filtro sul lato client. È necessario inviare questa richiesta al server per completare queste attività.

Il data binding nel modello OData è unidirezionale, ma puoi abilitare il binding bidirezionale usando il supporto di scrittura sperimentale.

Le caratteristiche principali includono:

  • Il modello di associazione dati OData supporta dati conformi a Odata.
  • Questo modello di dati consente di creare richieste OData e gestire le risposte.
  • Supporta l'associazione sperimentale a due vie.

Creating a model instance −

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

Assegnazione del modello

È possibile utilizzare il metodo setModel per assegnare il modello a controlli o core specifici.

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

Per associare un modello alla visualizzazione:

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

Per associare un modello a un controllo:

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

È possibile associare le proprietà di un controllo alle proprietà del modello. È possibile associare le proprietà di un modello a un controllo utilizzando il metodo bindproperty -

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

Associazione di aggregazione

È possibile utilizzare l'associazione di aggregazione per associare una raccolta di valori come l'associazione di più righe a una tabella. Per utilizzare l'aggregazione, è necessario utilizzare un controllo che funge da modello.

È possibile definire l'associazione di aggregazione utilizzando il metodo bindAgregation.

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