我知道这个问题在here之前就被问过了,但答案并没有帮助我。
这是我的控制器代码:
sap.ui.define([
// there's more stuff importet here
'project/util/formatter',
], function (formatter ) {
'use strict';
return BaseController.extend('project.controller.ManualUpload', {
formatter:formatter,
onShowErrors: function() {
//some other stuff happening here
_.forEach(checkValidations, entry => {
var errorMessage = oData[entry].ERROR_MSG;
if(errorMessage) {
var rowSettingsTemplate = new sap.ui.table.RowSettings({ highlight: "{ path: 'odataDetails>ERROR_MSG', formatter: '.formatter.errorStatus' }" });
backendTable.setRowSettingsTemplate(rowSettingsTemplate);
}
});
},
});
});这是我的格式化程序,函数errorStatus()
sap.ui.define(function() {
'use strict';
return {
errorStatus: function(errorMessage) {
if (_.isEmpty(errorMessage)) {
return 'None';
} else {
return 'Error';
}
},
};
});格式化程序被找到了,所以这不会是问题所在。另外,我在控制器的开头声明了格式化程序,所以这也应该很好。另一个建议的解决方案是不带括号的函数调用。我不这么做,所以这也不是问题所在。
错误信息是:
找不到格式化程序函数.formatter.errorStatus
发布于 2019-03-06 08:31:55
我认为你尝试绑定的方式是错误的。
在js视图中,可以按以下方式绑定:
var rowSettingsTemplate = new sap.ui.table.RowSettings({
highlight: {
path: "odataDetails>ERROR_MSG",
formatter: formatter.errorStatus
}
});
希望这能有所帮助。
https://stackoverflow.com/questions/55018153
复制相似问题