2017-01-31 20 views
0

私はMasterPageとDetailPageをMasterPageに持っています。リストにItemを選択するとDetailPageに情報が表示されます。ビューのデータを取得する方法

詳細ページで私はPositiveActionを持っていますが、PositiveActionを押すと、DetailPageのデータを取得する必要がありますが、これを行う方法はわかりません。

項目の私のコードを押し

onPoSelect : function(oEvent) { 
     var oListItem = oEvent.getParameter('listItem'); 
     var oRouter = sap.ui.core.UIComponent.getRouterFor(this); 
     oRouter.navTo("DetailPanel", { 
      invoicePath: oListItem.getBindingContext("solped").getPath().substr(1) 
     }); 

    }, 

DetailPanelで私のコード

onInit: function(){ 
     var oRouter = sap.ui.core.UIComponent.getRouterFor(this); 
     oRouter.getRoute("DetailPanel").attachPatternMatched(this._onObjectMatched, this); 
    }, 
    _onObjectMatched: function (oEvent) { 
     this.getView().bindElement({ 
      path: "/" + oEvent.getParameter("arguments").invoicePath, 
      model: "solped" 
     }); 
    }, 

ライン "oEvent.getParameter(" 引数が ")。invoicePath、"

これを返します。商品名= 'Aniseed Syrup'、数量= 6、セールスパーソン= 'マーガレット・ピーコック'、ShipperName = 'スピード・エキスプレス'、0120-365-3311、単価= 10.0000M)

私は情報を持っていますが、文字列です。この文字列をオブジェクトでどのように変換できますか?または、ビュー内の情報に他にどのようにアクセスできますか?

表示

enter image description here

答えて

0

として、これらのプロパティにアクセスすることができます。 bindElement関数でビューにデータをバインドし、 "getBindingContext"関数を探しているコードでデータを取得し直しました。

はあなたの詳細コントローラで次の関数を作成します。

// this must be connected to Button -> <Button press="onPositivePress"> 
onPositivePress: function(oEvent) { 

var oBindingContext = this.getView().getBindingContext("solped"); 

// this is the path you can use to call odata service 
var sPath = oBindingContext.getPath(); 

// this is data you are looking for 
var oReqData = oBindingContext.getObject(); 

} 
+0

を、それは動作しますが、あなたの答えをありがとうアミーゴをありがとうございました。 –

0

の画像例下記参照オブジェクトの文字列を変換します。

var a = "how r u";

var b = [a];

あなたはaのオブジェクトを取得します。

0

基本となるデータモデルのgetProperty関数にバインディングパスを引数として渡すことで、すべてのプロパティをオブジェクトとして取得できます。

var oModel = this.getView().getModel("solped"); 
var oProps = oModel.getProperty(oListItem.getBindingContext("solped").getPath()); 

あなたは、私はすでにあなたの詳細ビューで詳細データを見ることができると仮定し

oProps.CustomerName; 
oProps.OrderID; 
... 
関連する問題