ui5绑定到对话框片段

2020-08-18 10:20发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我已经基于CDS视图创建...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


你好

我已经基于CDS视图创建了一个fiori元素列表报告。

当用户在列表中选择一个条目并单击"显示文本"按钮时,我想从数据库中检索一个长文本并将其显示在弹出窗口中。

我在列表报告上添加了一个自定义按钮。

我已经在DPC_EXT中实现了方法DEDUCTIONITEMTEX_GET_ENTITY

我创建了以下对话框片段:

在列表报表控制器扩展中,我实现了以下内容:

 onClickTextItem:函数(oEvent){
//获取要显示和/或更新的项目文本
//弹出以显示文本项。 用户将选择一项。
//通过点击"保存"按钮,请求将被发送到后端以修改/创建文本
//获取列表中的选定项
 var oTable = oEvent.getSource()。getParent()。getParent()。getTable();
 var aContext = this.extensionAPI.getSelectedContexts(oTable);
 如果(aContext.length === 0){sap.m.MessageBox.error("请选择至少一项",{}); //消息至少选择一项
 }其他{
//逻辑以获取所选项目
  …………
 var mParameters = {BckDoc:DocNum,
                         BckItem:ItemNum};
//对话片段
       如果(!this.byId(" valTexttDialog")){
//加载XML片段
 this.oDialog = sap.ui.xmlfragment(" xxx.rev_deductions.fragments.textItems",this);
 this.getView()。addDependent(this.oDialog);
 var oModel = this.getView()。getModel();
 var sPath ="/img/DeductionItemText";
//通过其ID从片段访问表单
 var oForm = sap.ui.getCore()。byId(" EditFormId");
 oForm.setModel(oModel);
//获取文本并填写表格
 oForm.bindElement(sPath,mParameters);
//打开对话框
                   this.oDialog.open();
 }
 }
 },
 

我在将简单表单​​的元素与模型绑定时遇到问题。 运行应用程序时,出现异常"未捕获的TypeError:无法读取未定义的属性'indexOf'"。

我做过类似的开发,以在对话框片段中显示项目列表,并使用bindAggregtion没问题。

您知道如何解决该问题吗?

谢谢

克里斯托夫

(27.8 kB)
2条回答
DafaDDDa
2020-08-18 10:49 .采纳回答

据我了解,bind元素应具有带有键的full.path,可以使用createKey method.to 生成 完整路径并将其传递给不带这些参数的绑定元素

对于创建,您可以参考以下代码

https://stackoverflow.com/ Questions/46954621/如何在UI5中动态创建实体路径

一周热门 更多>