我正在尝试使用getTable().bindRows
将NWGW的数据绑定到现有的javascript表以获取输入值帮助。
开发工具为WebIDE,已检查所有连接。所有oData服务都可以,并且可以提供实时数据和元数据。
但是我不断得到
未捕获的TypeError:oValueHelpDialog.getTable(...)。bindRows不是 功能。
仅当应用程序在小屏幕设备(电话或我在Chrome开发工具中选择电话布局)上运行时,这种情况才会发生。
我不知道这是否是因为它可以将odata绑定到表吗?手机对UI5的处理方式不同吗?
我将不胜感激。谢谢
-------更新-------
感谢Answer.SAP中的一个好人。这是sample project
重现该错误的步骤:
将项目导入到Web IDE
执行index.html
打开Chrome开发工具
选择设备:iPhone 6/7/8或任何手机
刷新(F5)应用程序
再次单击“值帮助”对话框>导致空白表
-------更新END -------
片段视图
var oValueHelpDialog = new sap.ui.comp.valuehelpdialog.ValueHelpDialog({
title : oController.getStrTextSite(),
supportMultiselect : false,
supportRanges : false,
supportRangesOnly : false,
key : oController.getStrWERKS(),
descriptionKey : oController.getStrNAME1(),
ok: function(oControlEvent) {
oController.setDefaultSiteFromHelp(oControlEvent);
oValueHelpDialog.close();
},
cancel: function(oControlEvent) {
oValueHelpDialog.close();
},
afterClose: function() {
oValueHelpDialog.destroy();
}
});
...
return oValueHelpDialog;
}
控制器
onValueHelpForDefaultSite : function(oEvent) {
var oValueHelpDialog = this.getFragmentForValueHelp();
oValueHelpDialog.open();
...
oValueHelpDialog.getTable().bindRows(
this.getEntitySet(
"ODATA_10_DEFAULT_SITE_SET",
"ODATA_10"
)
);
}
答案 0 :(得分:0)
事实证明,在移动设备中,功能bindRows()
不存在,因此我们必须将其替换为功能bindItems()