我正在使用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控件中对D1
和D2
值求和。我使用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连接。
答案 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'}" />
多数民众赞成。它现在应该工作。
编辑:我很高兴我的回答有所帮助。