2016-04-19 11 views
0

ODataモデルを使用してUIコントロールを値とバインドしています。モデル値から2つの値を合計する必要があります。XMLビューで2つのバインディング値を追加します。

<Input id="__input8" class="rt1" value="{D1}" maxLength="1" type="Number" placeholder="" enabled="true" editable="true" /> 
<Input id="__input9" class="rt1" value="{D2}" maxLength="1" type="Number" placeholder="" enabled="true" editable="true" /> 
<Text id="__input15" class="rt1" text="{D1} + {D2}" /> 

私は、テキストコントロールでD1D2値を合計する必要があります。私はビューのXMLとコントローラのJSを使用しています。

var oModel = new sap.ui.model.odata.ODataModel(sServiceUrl, true); 
var oJsonModel = new sap.ui.model.json.JSONModel(); 
oModel.read("/xxxSet?", null, null, true, function (oData,repsonse) { 
     oJsonModel.setData(oData); 
}); 
this.getView().setModel(oModel); 

これは私のOData接続です。

答えて

1

あなたはExpression Bindingを使用することができます。

<Text id="__input15" class="rt1" text="{= ${D1} + ${D2}}" /> 
+0

aborjinikありがとうございますが、動作しません。私は{$ {D1} + $ {D2}}を試しました。これはうまく動作します。ありがとう。.. – user1514030

0

ニース、私は助けることができ、最終的ポスト。

まず、私はフォーマッタを設定します。私のルートは通常sap.ui.appで、私のフォーマッタはモデルフォルダの中にあり、フォーマッタを呼び出したので、 "sap.ui.app.model.formatter"のように呼び出すことができます。

名前は何ですか?インデックス内のルート。

data-sap-ui-resourceroots='{"sap.ui.app": "./"}'> 

あなたのルートです。 modelという名前のsap.ui.app内にフォルダを作成し、モデル内にformatter.jsというファイルを作成し、ファイル内にこのコードを記述します。

jQuery.sap.declare("sap.ui.app.model.formatter"); 
sap.ui.app.model.formatter = 
{ 
function1: (a, b) 
{ 
return a+b; 
} 
}; 

次に、ビューからフォーマッタを呼び出す必要があります。

<Text id="__input15" class="rt1" text="{parts:[{path : 'D1'}, {path : 'D2'}], formatter:'sap.ui.app.model.formatter.function1'}" /> 

それはそれです。今はうまくいくはずです。

編集:私の答えは助けてうれしいです。

+0

私のためにこの作品.. Cristianに感謝.. – user1514030

関連する問題