-
Timo3 years ago #26157
Hallo,
seit dem Update auf 6.0 gibt es Probleme mit den ComboBoxen.
Wir haben diese mit dem Widget (OpenUI5 1.44) per Skript gefüllt:var oModel = new sap.ui.model.json.JSONModel();
var oComboBox = sap.ui.getCore().byId(“Screen1–ComboBox_status”);
var oItemTemplate1 = sap.ui.getCore().byId(“Screen1–ui_core_ListItem_status”);//create JSON template
oModel.setData({
status:[
{VALUE:”erfolgreich”},
{VALUE:”nicht erfolgreich”}],
tooltip: “VALUE”});
sap.ui.getCore().setModel(oModel);//definiert die vorgefertigte Combobox
oComboBox.bindProperty(“tooltip”, “/tooltip”);
oComboBox.setModel(oModel);//definiert das vorgefertigte ui_core_ListItem
oItemTemplate1.bindProperty(“text”, “VALUE”);
oComboBox.bindItems(“/status”, oItemTemplate1);console.log(“Combobox für Status wurde befüllt.”);
Nun wurden alle Comboboxen auf OpenUI5 1.60 angehoben (Stand der App) und die Item-Templates funktionieren nicht mehr.
Gibt es eine Lösung, wie unter 1.60 die Comboboxen per Skript gefüllt werden?
Danke für die Hilfe 🙂
Jennifer HäfnerHas successfully completed the online course Intermediate (200)Has successfully completed the online course Advanced (300)Has successfully completed the online course Basics (100)Has successfully completed the online course Advanced (310)Has successfully completed the online course Advanced (320)Has successfully completed the Intermediate CertificationHas successfully completed the Advanced Certification3 years ago #26158::Hallo Timo,
Bei Umstellung der UI5-Version kann es leider passieren, dass Widgets nicht mehr kompatibel sind bzw. nicht mehr so funktionieren wie vorher.
Zu deinem Problem: wenn in der ComboBox (1.60) die Eigenschaft ‘itemsTemplate’ angehakt ist, sollte das Binding via Skript wieder durchgeführt werden können.Armin WinklerHas successfully completed the online course IntroductionHas successfully completed the online course Intermediate (200)Has successfully completed the online course Advanced (300)Has successfully completed the online course Basics (100)3 years ago #26387::Hallo Timo,
könntest du bitte mal prüfen, ob in der betroffenen App die Funktion “Automatisches Binden” aktiviert ist oder nicht? Du findest diese Einstellung über einen Klick auf den Applink im Application Editor (siehe Screenshot 1). Für Widgets in der OpenUI5-Version 1.60 müsste diese deaktiviert werden, damit Bindings von Aggregationen korrekt funktionieren (siehe Screenshot 2).
Das automatische binden ist seit Simplifier Version 5.5 standardmäßig deaktiviert, sobald man neue Apps erstellt. Aus Rückwärtskompatibilitätsgründen zu Bestandsapps, die auf Basis einer älteren Version als 5.5 erstellt wurden, ist die Funktion jedoch immer aktiviert, da dies dem vorherigen Stand entsprach, wie die App-Sources generiert wurden beim Deployment. Diese Einstellung auf “aus” zu stellen wirkt sich positiv auf die Ladezeiten von Applikationen aus, da dadurch Model-Bindings nur dynamisch zur Laufzeit initialisiert werden, wodurch diese mittlerweile Standard geworden ist.
In unseren Standard-Widgets der Version 1.60 wurde für alle Aggregationen zusätzlich noch eine Eigenschaft (“templateShareable = false”) verändert, die im Zusammenspiel mit der nun deaktivierten Autobind-Funktion relevant ist. Da du berichtest, dass die 1.44er Widgets noch zu funktionieren scheinen, wo die Eigenschaft für die Aggregationen noch nicht den veränderten Wert (“templateShareable = true”) trägt, sieht es für mich so aus, dass eben das “Automatische Binden” den Fehler verursacht und somit das items-Binding für die ComboBox nicht mehr funktioniert.
Viele Grüße,
Armin
Attachments:
You must be logged in to view attached files.
You must be logged in to reply to this topic.