在WorkList类应用程序中未选择列表项

2020-09-09 17:54发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中) SAP Gurus,您好, ...

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

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


SAP Gurus,您好,

我有一个小疑问。 我已经创建了一个类似于WorkList fiori的应用程序。 在一个屏幕上(使用SplitApp控件)有2个视图。主视图具有水果列表(使用的列表控件,并绑定了JSON模型)。 当我单击任何列表项时,第二个视图具有一个SimpleForm控件。

如果我单击"奇异果",则将表单输入与名称和价格绑定在一起。 因此, Kiwi 78 将出现在SimpleForm(第二视图)中。

问题是,我使用了 RouteMatchedHandler 方法来处理浏览器后退和前进按钮。 另外,对manifest.json的routing属性进行必要的更改。 一切正常

每当我单击第一个水果,然后单击第二个然后单击第三个水果时,相应的数据就会显示在第二个视图的SimpleForm输入中。 另外,"前进和后退"按钮可以正常工作(URL末尾即#fruits/1,#fruits/2,.......)已更改

但是,当我从第一个水果转到第二个水果,然后当我按浏览器返回时,理想情况下,列表项上的选择/突出显示也应更改,但选择没有得到 在第一视图的列表中更改。 为此,我将"选定项目"设置为:

oList.setSelectedItem(oList.getItems()[i]),如下所示

请帮助我解决问题。 非常感谢您的时间。

我已经为第二视图的控制器编写了以下代码:

此外,如果您需要参考其他文件,请查找附件的项目文件。 app-view.txt component-js .txt main-controller.txt main-view.txt manifest-json.txt model-creation.txt view2controller.txt view2.txt

 onInit:函数(){

//RouteMatchedHandler:每次页面路由/URL更改时,此方法都会触发
 this.oRouter = this.getOwnerComponent()。getRouter();
 this.oRouter.attachRoutePatternMatched(this.hercules,this);
 },

 大力神:函数(oEvent){
 var sPath ="/img/fruits" +"/" + oEvent.getParameter(" arguments")。mario;
 this.getView()。bindElement(sPath);


//获取列表对象
 var oMasterView = this.getView()。getParent()。getParent()。getMasterPages()[0];
 var oList = oMasterView.byId(" idList2");

 var fruitName = this.getView()。getModel()。getProperty(sPath).name;
 for(var i = 0; i 

    
        
          app-view.txt 
         (215乙)            
2条回答
Nir深蓝
2020-09-09 18:24

您好 PRATHAMESH

请先取消选择母版页列表中的所有项目 然后选择所需的那个。 请尝试以下代码以供参考。

 var oList = sap.ui.getCore()。byId(" yourlist");
  var oSelectedItem = oList.getSelectedItem();
//此操作取消选择项目,并允许您再次选择该项目
        if(oSelectedItem){
          oList.setSelectedItem(oSelectedItem,false);
        }
 

希望这会有所帮助...

谢谢-

Abhishek

一周热门 更多>