在XML视图中添加两个绑定值

时间:2016-04-19 13:55:03

标签: sapui5

我正在使用OData模型将UI控件与值绑定。我需要从模型值中加总两个值。

 <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}" />

我需要在Text控件中对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连接。

2 个答案:

答案 0 :(得分:1)

您可以使用Expression Binding

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

答案 1 :(得分:0)

很好,最后是我可以提供帮助的帖子。

首先,我会设置一个格式化程序。由于我的root通常是sap.ui.app,并且我的格式化程序在模型文件夹中并且名为formatter,我可以将其称为&#34; sap.ui.app.model.formatter&#34;

您可以查看索引中根目录的名称。

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

这是你的根。在sap.ui.app中创建一个名为model的文件夹,并在模型内部创建一个名为formatter.js的文件,并在文件内部编写此代码。

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

接下来,您应该从视图中调用formatter。

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

多数民众赞成。它现在应该工作。

编辑:我很高兴我的回答有所帮助。