SAPUI5路线导航,其中有从表选择中选择的行,以传递到第二个屏幕

2020-09-27 01:45发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)你好 我有一个带有2个屏幕的S...

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

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


你好

我有一个带有2个屏幕的SAPUI5应用程序,我试图将所选行从我的第一个屏幕传递到第二个屏幕,

但是我无法在第二个屏幕上显示数据,绑定上下文为空

您能告诉我编码中有什么问题吗?

这是我manifest.json的一部分

 {
     "路由":{
         " config":{
             " viewPath":" DI_Warehouse_Replenishment.view",
             " controlId":" V_Root",
             " viewLevel":1
             " controlAggregation":"页面",
             " routerClass":" sap.m.routing.Router"
         },
         "目标":{
             " Target_REHeader":{
                 " viewType":" XML",
                 " transition":" slide",
                 " clearAggregation":正确,
                 " viewName":" V_REHeader",
                 " viewLevel":1
             },
             " Target_REDetail":{
                 " viewType":" XML",
                 " transition":" slide",
                 " clearAggregation":正确,
                 " viewName":" V_REDetail",
                 " viewLevel":2
             }
         },
         "路线":[{
             " name":" Target_REHeader",
             " pattern":"",
             " titleTarget":"",
             " greedy":错误,
             " target":[" Target_REHeader"]
         },{
             " name":" Target_REDetail",
             " pattern":" Target_REDetail/{replPath}",
             " titleTarget":"",
             " greedy":错误,
             " target":[" Target_REDetail"]
         }]
     }
 }

 

主页视图xml

 
     <列>
         <!- ->
         <栏目>
             <标签/>
         
         <栏目>
             <标签/>
         
         <栏目>
             <标签/>
         
         <栏目>
             <标签/>
         
         <栏目>
             <标签/>
         
         <栏目>
             <标签/>
         
         <栏目>
             <标签/>
         
         <栏目>
             <标签/>
         
         <栏目>
             <标签/>
         
         <栏目>
             <标签/>
         
         <栏目>
             <标签/>
         
         <栏目>
             <标签/>
         
         <栏目>
             <标签/>
         
             <标签/>
         
     <项目>
         
             <单元格>
                 <!-<文本text =" {REPL> Itemline}"/>->
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
                 
             
         

主页controller.js(我在传递到第二个屏幕之前将"/"替换为" R",然后在第二个屏幕中以另一种方式进行操作,因为我在路径中包含多个/这样

/items/25

 showSelected:function(evt){
 var oView = this.getView();
 如果(oView.byId(" ContentTable")。getSelectedItem()!== null){
     var o = oView.byId(" ContentTable")。getSelectedItem()。getBindingContext(" REPL")。getObject();
     var oRouter = sap.ui.core.UIComponent.getRouterFor(this);
     var pathr = this.getView()。byId(" ContentTable")。getSelectedItem()。getBindingContext(" REPL")。getPath()。toString()。replace(/\//g," R");
     oRouter.navTo(" Target_REDetail",{
         replPath:路径
     });
 }其他{
     MessageBox.show("未选择行",sap.m.MessageBox.Icon.ERROR);
 }
 }
 });

 

第二页controller.js

 onInit:function(){
        //获取路由器信息
         var oRouter = sap.ui.core.UIComponent.getRouterFor(this);
         oRouter.getRoute(" Target_REDetail")。attachPatternMatched(this._onObjectMatched,this);
         var oView = this.getView();
     },

 _onObjectMatched:函数(oEvent){
 var pathr = oEvent.getParameter(" arguments")。replPath.toString()。replace(/R/g,"/");
 this.getView()。bindElement({
 路径:路径,
 型号:" REPL"
 });
 alert(this.getView()。getBindingContext(" REPL")。getProperty(" EUsername")));
 },

 
5条回答
Climb_Ma
2020-09-27 02:04

谢谢,明天我会尝试。

但是,当您谈论全局模型时," REPL"仅在主页中定义,这是manifest.json中" ZREPLENISHMENT"的JSON本地副本,我在表上使用REPL进行本地过滤。

我将尝试使用" ZREPLENISHMENT"而不是" REPL",我感觉它会起作用,我会告诉你:)

"型号":{
 " i18n":{
 " type":" sap.ui.model.resource.ResourceModel",
 "设置":{
 " bundleName":" DI_Warehouse_Replenishment.i18n.i18n"
 }
 },
 " ZREPLENISHMENT":{
 " type":" sap.ui.model.odata.v2.ODataModel",
 "设置":{
 " defaultOperationMode":"服务器",
 " defaultBindingMode":" TwoWay",
 " defaultCountMode":"请求"
 },
 " dataSource":" ZFGREPLENISHMENT_SRV",
 " preload":是
 },
 " GETPLANT":{
 " type":" sap.ui.model.odata.v2.ODataModel",
 "设置":{
 " defaultOperationMode":"服务器",
 " defaultBindingMode":" OneTime",
 " defaultCountMode":"请求"
 },
 " dataSource":" ZGET_PLANT_SRV",
 " preload":是
 }
 

一周热门 更多>