sap.ui.define([ "sap/ui/core/mvc/Controller", "sap/m/MessageBox", "sap/ui/core/Fragment" ], /** * @param {typeof sap.ui.core.mvc.Controller} Controller */ function (Controller, MessageBox, Fragment) { "use strict"; return Controller.extend("zacademy.crudoperator.controller.Update", { onInit: function () { //1) Salva il riferimento all'oggetto del router in una variabile this.oRouter = sap.ui.core.UIComponent.getRouterFor(this); //2) Recupera l'ID dalla route this.oRouter.getRoute("Update").attachPatternMatched(this._onRouteMatched, this); var oM = this.getOwnerComponent().getModel("modelResult").getProperty("/Id"); console.log(oM) }, // navRouting: function (oEvent) { // NON UTILIZZATA PER HOMEPAGE // var oRouter = sap.ui.core.UIComponent.getRouterFor(this); // var oBusyDialog = this.byId("busyDialog"); // oBusyDialog.open(); // Mostra il busy dialog prima del reindirizzamento // setTimeout(function() // { // oBusyDialog.close(); // }.bind(this),1000); // //5) Navigare alla pagina di dettaglio passando l'ID della riga selezionata come parametro // oRouter.navTo("HomePage"); // }, _onRouteMatched: function (oEvent) { //3) Recupera l'ID dalla route var sSelectedId = oEvent.getParameter("arguments").id; //4) Carica i dati corrispondenti all'ID e bind al model della view var oModel = this.getView().getModel("modelResult"); console.log(oModel) var oSelectedItem = oModel.getProperty("/" + sSelectedId); //5) Effettua il binding dei dati alla vista this.getView().bindElement({ path: "/" + sSelectedId, model: "modelResult" }); }, onPressEdit: function () { var oView = this.getView(); // create dialog lazily if (!this.byId("idDialog")) { // load asynchronous XML fragment Fragment.load({ id: oView.getId(), name: "zacademy.crudoperator.view.fragment.Editable", controller: this }).then(function (oDialog) { // connect dialog to the root view of this component (models, lifecycle) oView.addDependent(oDialog); oDialog.open(); }); } else { this.byId("idDialog").open(); } }, }); }); VA NELLA PAGINA VIEW <ToolbarSpacer /> <Button text="{i18n>edit}" press="" class="sapUiLargeMarginEnd" type="Emphasized" icon="sap-icon://edit" /> </OverflowToolbar> </subHeader> <Table id="idTable" inset="false" items="{modelResult>/}" mode="SingleSelectLeft" > <columns> <Column minScreenWidth="Tablet" demandPopin="true" > <Text text="Id" /> </Column> <Column minScreenWidth="Tablet" demandPopin="true" > <Text text="Nome" /> </Column> <Column minScreenWidth="Tablet" demandPopin="true" > <Text text="Cognome" /> </Column> <Column minScreenWidth="Tablet" demandPopin="true" > <Text text="Email" /> </Column> <Column minScreenWidth="Tablet" demandPopin="true" > <Text text="Telefono" /> </Column> <Column minScreenWidth="Tablet" demandPopin="true" > <Text text="Paese" /> </Column> <Column minScreenWidth="Tablet" demandPopin="true" > <Text text="Citta" /> </Column> <Column minScreenWidth="Tablet" demandPopin="true" > <Text text="Provincia" /> </Column> <Column minScreenWidth="Tablet" demandPopin="true" > <Text text="Indirizzo" /> </Column> </columns> <items> <ColumnListItem type="Active" press="" vAlign="Middle" > <cells> <ObjectIdentifier id="ItemText" text="{modelResult>Id}" /> <Text id="ItemText1" text="{modelResult>Nome}" /> <Text id="ItemText2" text="{modelResult>Cognome}" /> <Text id="ItemText3" text="{modelResult>Email}" /> <Text id="ItemText4" text="{modelResult>Telefono}" /> <Text id="ItemText5" text="{modelResult>Paese}" /> <Text id="ItemText6" text="{modelResult>Citta}" /> <Text id="ItemText7" text="{modelResult>Provincia}" /> <Text id="ItemText8" text="{modelResult>Indirizzo}" /> </cells> </ColumnListItem> </items> </Table> </Page> </mvc:View>