2016-10-15 4 views
0

Я новичок в sapui5 мир и я застрял в самом начале, и прошу вашей помощи я создал ниже службу OData, которая содержит два объекта enter image description hereSAPUI5 единое целое связывания при использовании фильтров

Затем я создал приложение я начал с первого взгляда, и контроллер затем в нем я написал следующий код

onLogin: function(){ 
 
\t \t var sURI = "proxy/http/localhost:9999/MIKMOWCFDataService.svc/"; 
 
\t \t var oModel = new sap.ui.model.odata.ODataModel(sURI, false); 
 
\t \t oModel.oHeaders = { 
 
\t \t \t "DataServiceVersion": "2.0", 
 
\t \t \t "MaxDataServiceVersion": "2.0" 
 
\t \t }; 
 
\t \t var aFilter = []; \t \t 
 
\t \t aFilter.push(new sap.ui.model.Filter("VendorEmail", sap.ui.model.FilterOperator.EQ, this.getView().byId("txtUserName").getValue())); 
 
\t \t aFilter.push(new sap.ui.model.Filter("VendorPassword", sap.ui.model.FilterOperator.EQ,this.getView().byId("txtPassword").getValue())); 
 
\t \t oModel.read("/tbl_Vendors", { 
 
\t \t \t filters : aFilter 
 
\t \t }); 
 
\t \t sap.ui.getCore().setModel(oModel,"vendors"); \t \t 
 
\t }

Что я пытаюсь добиться от код должен получить идентификатор пользователя после того, как он отправит свой адрес электронной почты и пароль, которым я смог вернуть правильную строку из БД, но после этого я не смог прочитать свойство идентификатора из возвращаемых данных, это делается только через использованный список и нажмите элемент списка, чтобы запустить другое событие, а затем прочитать идентификатор, который не является разумным в примере с датой, может помочь мне узнать, как читать свойство непосредственно из модели. Заранее спасибо

ответ

0

Вам нужно поставить идентификатор в глобальная переменная, а затем привязка переменной в ключ сущности.

onInit: function() { 
     var oEventBus = sap.ui.getCore().getEventBus(); 
     sap.ui.core.UIComponent.getRouterFor(this).attachRouteMatched(this.onRouteMatched, this); 
    }, 

    //routing validation 
    onRouteMatched: function(oEvent) { 
     var oParameters = oEvent.getParameters(); 
     // when detail navigation occurs, update the binding context 
     if (oParameters.name !== "CreateDoc") { 

      return; 
     } 

     console.log(oParameters.name); 
     //put your entity name here 
     var sEntityPath = "/MasterSet(Id='"+ yourGlobalVariable +"')"; 
     this.bindView(sEntityPath); 

    }, 

    //binding initial data to sapui5 page 
    bindView: function(sEntityPath) { 
     var oView = this.getView(); 
     oView.bindElement(sEntityPath); 

     // check if the data already on the client 
     if (!oView.getModel().getData(sEntityPath)) { 
      // check that the entity specified actually was found 
      oView.getElementBinding().attachEventOnce("dataReceived", jQuery.proxy(function() { 
       var oData = oView.getModel().getData(sEntityPath); 
       console.log(oData); 
       if (!oData) { 
        // this.showEmptyView(); 
       } else { 
        // 
       } 
      }, this)); 
     } 

    }, 

Попробуйте использовать console.log на каждом шагу, чтобы понять поток.

Смежные вопросы