SAP UI5 - Datenbindung
In SAP UI5 data binding conceptwird verwendet, um die Daten automatisch zu aktualisieren, indem die Daten mit den Steuerelementen verknüpft werden, die die Anwendungsdaten enthalten. Mithilfe der Datenbindung können Sie einfache Steuerelemente wie Textfelder, einfache Schaltflächen an Anwendungsdaten binden und Daten werden automatisch aktualisiert, wenn ein neuer Wert vorhanden ist.
Bei Verwendung der bidirektionalen Datenbindung werden Anwendungsdaten aktualisiert, wenn sich der Wert des gebundenen Steuerelements ändert. Der Wert kann über verschiedene Methoden wie Benutzereingaben usw. geändert werden.
In SAP UI5 können verschiedene Datenmodelle für die Datenbindung verwendet werden. Diese Datenmodelle unterstützen verschiedene Funktionen -
JSON-Modell
Das JSON-Modell wird verwendet, um JavaScript-Objekte an Steuerelemente zu binden. Dieses Datenmodell ist ein clientseitiges Modell und wird für kleine Datenmengen empfohlen. Es bietet keinen Mechanismus für serverseitiges Paging oder Laden.
Hauptmerkmale sind -
- Das JSON-Modell für die Datenbindung unterstützt Daten im JavaScript-Notationsformat.
- Es unterstützt die bidirektionale Datenbindung.
Creating a model instance −
Var oModel = new sap.ui.model.json.JSONModel(dataUrlorData);
XML-Modell
Mit dem XML-Modell der Datenbindung können Sie die Steuerelemente an XML-Daten binden. Es wird für clientseitige Objekte und für kleine Datenmengen verwendet. Es bietet keinen Mechanismus zum serverseitigen Paging oder Laden.
Hauptmerkmale sind -
- Das XML-Modell der Datenbindung unterstützt XML-Daten.
- Es unterstützt auch die bidirektionale Datenbindung.
Creating a model instance −
Var oModel = new sap.ui.model.xml.XMLModel(dataUrlorData);
OData-Modell
Das OData-Modell ist ein serverseitiges Modell, sodass ganze Daten auf der Serverseite verfügbar sind. Die Clientseite kann nur Zeilen und Felder sehen und Sie können das Sortieren und Filtern auf der Clientseite nicht verwenden. Diese Anforderung muss an den Server gesendet werden, um diese Aufgaben auszuführen.
Die Datenbindung im OData-Modell ist eine Möglichkeit, aber Sie können die bidirektionale Bindung mithilfe der experimentellen Schreibunterstützung aktivieren.
Hauptmerkmale sind -
- Das OData-Modell der Datenbindung unterstützt Odata-kompatible Daten.
- Mit diesem Datenmodell können Sie OData-Anforderungen erstellen und Antworten verarbeiten.
- Es unterstützt die experimentelle Zweiwegebindung.
Creating a model instance −
Var oModel = new sap.ui.model.odata.ODataModel (dataUrl [,useJSON, user, pass]);
Modell zuweisen
Mit der setModel-Methode können Sie das Modell bestimmten Steuerelementen oder Kernen zuweisen.
Sap.ui.getcore().setModel(oModel);
So binden Sie ein Modell an die Ansicht -
Var myView = sap.ui.view({type:sap.ui.core.mvc.ViewType.JS, viewname:”view name”});
myView.setModel(oModel);
So binden Sie ein Modell an ein Steuerelement:
Var oTable = sap.ui.getCore().byId(“table”);
oTable.setModel(oModel);
Sie können die Eigenschaften eines Steuerelements an Modelleigenschaften binden. Sie können die Eigenschaften eines Modells mithilfe der bindproperty-Methode an ein Steuerelement binden.
oControl.bindProperty(“controlProperty”, “modelProperty”);
or by using below methodvar
oControl = new sap.ui.commons.TextView({
controlProperty: “{modelProperty}”
});
Aggregationsbindung
Sie können die Aggregationsbindung verwenden, um eine Sammlung von Werten zu binden, z. B. das Binden mehrerer Zeilen an eine Tabelle. Um die Aggregation verwenden zu können, müssen Sie ein Steuerelement verwenden, das als Vorlage fungiert.
Sie können die Aggregationsbindung mithilfe der bindAgregation-Methode definieren.
oComboBox.bindaggregation( “items”, “/modelaggregation”, oItemTemplate);