无法在sap.m.Dialog RunTime(UI5 + Web Ide)中加载模型

2020-08-18 04:18发布

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

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


我从UI5开始,直到可以在.view中将Model用于sap.m.Combobox类型的组件时,我都在创建主控/详细信息,但是我正在尝试创建sap.m .Dialog在运行时添加一个sap.m .Combobox,但他没有建模。

我正在尝试各种方法,但无法在sap.m.Combobox中列出值

Detail.controller.js

 sap.ui.define([
 " sap/ui/core/mvc/Controller"
 ],函数(控制器){
 "使用严格";


 返回Controller.extend(" com.test.controller.Detail",{
 onInit:函数(){
 var oRouter = sap.ui.core.UIComponent.getRouterFor(this);
 oRouter.getRoute(" detail")。attachMatched(this.onRouterMatched,this);
 },
 onRouterMatched:函数(事件){
 var oArgs;
 var oView;

 oArgs = event.getParameters(" arguments");
 oView = this.getView();

 oView.bindElement({
 路径:"/img/Loja('" + oArgs.arguments.LOJA_COD +"')"
 });
 },
 onAddVenda:函数(事件){
 sap.m.MessageToast.show(event.getSource()。getId()+" Pressed");


 var bundle = this.getView()。getModel(" i18n")。getResourceBundle();


 var cancelButton = new sap.m.Button({
 文字:bundle.getText(" cancel_btn_text"),
 按下:function(){
 dialog.close();
 }
 });

 var addButton = new sap.m.Button({
 文字:bundle.getText(" add_btn_text"),
 按下:function(){
 dialog.close();
 }
 });

 var afterDialogClose = function(oEvent){

 };

 var listItem = new sap.ui.core.ListItem({
 键:" {LOJA_COD}",
 文字:" {LOJA_DSC}"
 });

 var listItem2 = new sap.ui.core.Item({
 键:" {LOJA_COD}",
 文字:" {LOJA_DSC}"
 });

 var comboTeste = new sap.m.ComboBox({
 宽度:" 300px",项目:{
 路径:"/img/Loja",
 模板:listItem2
 }});

 comboTeste.bindElement({path:"/img/Loja"});

 var simpleForm = new sap.ui.layout.form.SimpleForm({
 可编辑:true,
 内容:[
 new sap.m.Label({text:" Data"}),
 新的sap.m.DatePicker({width:" 200px",valueFormat:" dd/MM/yyyy",displayFormat:" dd/MM/yyyy"}),
 新的sap.m.Label({text:" {LOJA_COD}"}),
 comboTeste,
 新的sap.m.Label({text:" Produto"}),
 新的sap.m.ComboBox({width:" 300px",项目:{
 路径:"/img/Produto",
 模板:listItem
 }}),
 new sap.m.Label({text:" Loja"}),
 新的sap.m.ComboBox({width:" 300px",项目:[{
 " key":" LOJA_00001",
 " text":" LOJA_00001-TESTE"
 }]}),
 new sap.m.Label({text:'Auditor'}),
 新的sap.m.ComboBox({width:'300px'}),
 新的sap.m.Label({text:'Qtd。Venda'}),
 新的sap.m.MaskInput({width:'100px',mask:" 99999"}),
 new sap.m.Label({text:'PreçoConcorrente1'}),
 new sap.m.MaskInput({width:'100px'}),
 new sap.m.Label({text:'PreçoConcorrente2'}),
 new sap.m.MaskInput({width:'100px'}),
 new sap.m.Label({text:'PreçoConcorrente3'}),
 新的sap.m.MaskInput({width:'100px'})
 ]
 });


 sap.ui.getCore()。getEventBus()。publish(" nav","虚拟");
 var dialog = new sap.m.Dialog({
 标题:bundle.getText(" add_venda_title"),
 内容:simpleForm,
 leftButton:addButton,
 rightButton:cancelButton,
 afterClose:afterDialogClose
 });
 dialog.open();
 }
 });


 });

 

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

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


我从UI5开始,直到可以在.view中将Model用于sap.m.Combobox类型的组件时,我都在创建主控/详细信息,但是我正在尝试创建sap.m .Dialog在运行时添加一个sap.m .Combobox,但他没有建模。

我正在尝试各种方法,但无法在sap.m.Combobox中列出值

Detail.controller.js

 sap.ui.define([
 " sap/ui/core/mvc/Controller"
 ],函数(控制器){
 "使用严格";


 返回Controller.extend(" com.test.controller.Detail",{
 onInit:函数(){
 var oRouter = sap.ui.core.UIComponent.getRouterFor(this);
 oRouter.getRoute(" detail")。attachMatched(this.onRouterMatched,this);
 },
 onRouterMatched:函数(事件){
 var oArgs;
 var oView;

 oArgs = event.getParameters(" arguments");
 oView = this.getView();

 oView.bindElement({
 路径:"/img/Loja('" + oArgs.arguments.LOJA_COD +"')"
 });
 },
 onAddVenda:函数(事件){
 sap.m.MessageToast.show(event.getSource()。getId()+" Pressed");


 var bundle = this.getView()。getModel(" i18n")。getResourceBundle();


 var cancelButton = new sap.m.Button({
 文字:bundle.getText(" cancel_btn_text"),
 按下:function(){
 dialog.close();
 }
 });

 var addButton = new sap.m.Button({
 文字:bundle.getText(" add_btn_text"),
 按下:function(){
 dialog.close();
 }
 });

 var afterDialogClose = function(oEvent){

 };

 var listItem = new sap.ui.core.ListItem({
 键:" {LOJA_COD}",
 文字:" {LOJA_DSC}"
 });

 var listItem2 = new sap.ui.core.Item({
 键:" {LOJA_COD}",
 文字:" {LOJA_DSC}"
 });

 var comboTeste = new sap.m.ComboBox({
 宽度:" 300px",项目:{
 路径:"/img/Loja",
 模板:listItem2
 }});

 comboTeste.bindElement({path:"/img/Loja"});

 var simpleForm = new sap.ui.layout.form.SimpleForm({
 可编辑:true,
 内容:[
 new sap.m.Label({text:" Data"}),
 新的sap.m.DatePicker({width:" 200px",valueFormat:" dd/MM/yyyy",displayFormat:" dd/MM/yyyy"}),
 新的sap.m.Label({text:" {LOJA_COD}"}),
 comboTeste,
 新的sap.m.Label({text:" Produto"}),
 新的sap.m.ComboBox({width:" 300px",项目:{
 路径:"/img/Produto",
 模板:listItem
 }}),
 new sap.m.Label({text:" Loja"}),
 新的sap.m.ComboBox({width:" 300px",项目:[{
 " key":" LOJA_00001",
 " text":" LOJA_00001-TESTE"
 }]}),
 new sap.m.Label({text:'Auditor'}),
 新的sap.m.ComboBox({width:'300px'}),
 新的sap.m.Label({text:'Qtd。Venda'}),
 新的sap.m.MaskInput({width:'100px',mask:" 99999"}),
 new sap.m.Label({text:'PreçoConcorrente1'}),
 new sap.m.MaskInput({width:'100px'}),
 new sap.m.Label({text:'PreçoConcorrente2'}),
 new sap.m.MaskInput({width:'100px'}),
 new sap.m.Label({text:'PreçoConcorrente3'}),
 新的sap.m.MaskInput({width:'100px'})
 ]
 });


 sap.ui.getCore()。getEventBus()。publish(" nav","虚拟");
 var dialog = new sap.m.Dialog({
 标题:bundle.getText(" add_venda_title"),
 内容:simpleForm,
 leftButton:addButton,
 rightButton:cancelButton,
 afterClose:afterDialogClose
 });
 dialog.open();
 }
 });


 });

 
付费偷看设置
发送
1条回答
樱桃小丸子0093
1楼-- · 2020-08-18 04:38

嗨,

您可以为对话框对象使用这样的setModel函数:

 oDialog.setModel(
       this.getView()。getModel(" event")
 );
 

希望这会有所帮助,

问候。

一周热门 更多>