Sapui5 如何对从OData接收到的值执行加法或减法等数学函数?
我的odata正在从CDS视图返回以下值: 投资完成=18和 总收入=10 我想从这些值中计算利润,并将其存储在可变利润=投资完成-总收入中,以便在视图中使用它来显示该值。有什么帮助吗?我如何在控制器中执行此计算Sapui5 如何对从OData接收到的值执行加法或减法等数学函数?,sapui5,Sapui5,我的odata正在从CDS视图返回以下值: 投资完成=18和 总收入=10 我想从这些值中计算利润,并将其存储在可变利润=投资完成-总收入中,以便在视图中使用它来显示该值。有什么帮助吗?我如何在控制器中执行此计算 提前发送 我建议最好在后端进行计算。 如果你必须在前端完成,没问题。 检查以下代码: var fnSuccess = function(oData,oResponse){ var TabData = { Data : [] }; var DataArr; for(i=0;i&
提前发送 我建议最好在后端进行计算。 如果你必须在前端完成,没问题。 检查以下代码:
var fnSuccess = function(oData,oResponse){
var TabData = {
Data : []
};
var DataArr;
for(i=0;i<oData.results.length;i++){
DataArr = {
profit : oData.results[i].investmentDone - oData.results[i].totalRevenue,
investmentDone : oData.results[i].investmentDone,
totalRevenue : oData.results[i].totalRevenue
}
TabData.Data.push(DataArr);
}
在此代码之后,只需将此数据绑定到JSON模型并将模型设置为表。如果您在UI层上计算利润,理想的方法是使用自定义格式化程序,因为这是推荐的方法。 您可以通过添加以下代码来完成此操作 对于XML视图 对于格式化程序代码,创建一个新文件model/Formatter.js
sap.ui.define([], function () {
"use strict";
return {
calcProfit: function (iInvestmentDone, iTotalRevenue) {
return (iInvestmentDone - iTotalRevenue);
}
};
});
谢谢,伙计,成功了。只有一个问题如果你能帮我更多的忙,你能告诉我如何使用IIInvestmentDone-iTotalRevenue的这个值来设置进度指示器控件中的进度颜色吗?不客气。若要在index.html中也执行此操作,请将其添加到引导声明中以启用复杂绑定,否则%符号将不可见:data sap ui CompatiVersion=edgeI使用odata模型
sap.ui.define([
"sap/ui/core/mvc/Controller",
"sap/ui/model/json/JSONModel",
"sap/ui/demo/wt/model/formatter"
], function (Controller, JSONModel, formatter) {
"use strict";
return Controller.extend("sap.ui.demo.wt.controller.InvoiceList", {
formatter: formatter,
onInit : function () {
...
}
});
});
sap.ui.define([], function () {
"use strict";
return {
calcProfit: function (iInvestmentDone, iTotalRevenue) {
return (iInvestmentDone - iTotalRevenue);
}
};
});