使用片段对主视图中的列表进行过滤和排序

2020-08-27 18:22发布

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

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


嗨,

我是sapui5的新手,我需要通过单击过滤器图标来对列表进行"过滤和排序",但是我无法对列表进行过滤和排序。

这是Dialog.fragment.xml的代码

 
   
     
       
       
     
     
       
     
     
       
         <项目>
           
         
       
     
   
 
 

这是Master.controller.js的代码

 onInit:函数(){
 var oList = this.getView()。byId(" list");
            this.oBindingList = oList.getBindingInfo(" items");
 var oModell = new sap.ui.model.json.JSONModel();
 oModell.loadData("/img/sap/opu/odata/sap/ZSERVICE_ENTRY4_SRV/POItemSet");
 oList.setModel(oModell);
                                  },

 onPress:function(oEvent){
  //打开表格设置对话框
   this._oDialog = sap.ui.xmlfragment(" service.zservice.fragments.Dialog",this);
   this._oDialog.open();
 },
 onConfirm:function(oEvent){
   var oView = this.getView();
   var oList = oView.byId(" list");
   var mParams = oEvent.getParameters();
   var oBinding = oList.getBinding(" items");
  //应用分组
   var aSorters = [];
   如果(mParams.groupItem){
     var sPath = mParams.groupItem.getKey();
     var bDescending = mParams.groupDescending;
     var vGroup = function(oContext){
       var number = oContext.getProperty(" PoItemNo");
       返回{
         键:数字,
         文字:数字
       };
     };
     aSorters.push(新sap.ui.model.Sorter(sPath,bDescending,vGroup));
   }
  //应用分类器
   var sPath = mParams.sortItem.getKey();
   var bDescending = mParams.sortDescending;
   aSorters.push(新sap.ui.model.Sorter(sPath,bDescending));
   oBinding.sort(aSorters);
  //应用过滤器
   var aFilters = [];
   for(var i = 0,l = mParams.filterItems.length; i 
 

当我运行该应用程序时,数据未显示在主视图中

你们能帮我解决我的问题吗?

此致

Venkatesh

(28.2 kB)

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

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


嗨,

我是sapui5的新手,我需要通过单击过滤器图标来对列表进行"过滤和排序",但是我无法对列表进行过滤和排序。

这是Dialog.fragment.xml的代码

 
   
     
       
       
     
     
       
     
     
       
         <项目>
           
         
       
     
   
 
 

这是Master.controller.js的代码

 onInit:函数(){
 var oList = this.getView()。byId(" list");
            this.oBindingList = oList.getBindingInfo(" items");
 var oModell = new sap.ui.model.json.JSONModel();
 oModell.loadData("/img/sap/opu/odata/sap/ZSERVICE_ENTRY4_SRV/POItemSet");
 oList.setModel(oModell);
                                  },

 onPress:function(oEvent){
  //打开表格设置对话框
   this._oDialog = sap.ui.xmlfragment(" service.zservice.fragments.Dialog",this);
   this._oDialog.open();
 },
 onConfirm:function(oEvent){
   var oView = this.getView();
   var oList = oView.byId(" list");
   var mParams = oEvent.getParameters();
   var oBinding = oList.getBinding(" items");
  //应用分组
   var aSorters = [];
   如果(mParams.groupItem){
     var sPath = mParams.groupItem.getKey();
     var bDescending = mParams.groupDescending;
     var vGroup = function(oContext){
       var number = oContext.getProperty(" PoItemNo");
       返回{
         键:数字,
         文字:数字
       };
     };
     aSorters.push(新sap.ui.model.Sorter(sPath,bDescending,vGroup));
   }
  //应用分类器
   var sPath = mParams.sortItem.getKey();
   var bDescending = mParams.sortDescending;
   aSorters.push(新sap.ui.model.Sorter(sPath,bDescending));
   oBinding.sort(aSorters);
  //应用过滤器
   var aFilters = [];
   for(var i = 0,l = mParams.filterItems.length; i 
 

当我运行该应用程序时,数据未显示在主视图中

你们能帮我解决我的问题吗?

此致

Venkatesh

(28.2 kB)
付费偷看设置
发送
4条回答
空代码
1楼-- · 2020-08-27 18:30

您可以在"网络"标签中检查odata请求,查看是否有任何未正确发送的内容,并检查控制台日志。

如果odata请求运行正常,则可能是后端造成的问题 。 (他们可能未正确实施过滤器。)

小灯塔
2楼-- · 2020-08-27 18:41

运行应用程序意味着什么? 何时应用过滤和排序?

列表是否直接绑定到odata服务? 如果可以,您是否可以查看odata请求,以及问题是否来自后端?

zhangjiyang1323
3楼-- · 2020-08-27 18:37

嗨,Mahesh,

是的,当我应用过滤器和排序时,数据不会显示在主视图中。

是的,列表与odata服务绑定。

SAP砖家
4楼-- · 2020-08-27 18:42

一周热门 更多>