应用自定义过滤器后,智能表未更新

2020-09-22 12:02发布

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

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


你好

我在智能表方面遇到了非常烦人的问题,我用自己的过滤器扩展了过滤器,并在onBeforeRebindTableExtension中设置了这些过滤器。

奇怪的是,有时表中显示数据,但大多数情况下没有。 如果更改过滤器值,则什么也不会更新,但是在"网络"选项卡中,我看到数据已传输。

如果它确实在Smart Table中显示了某些内容,如果我再次单击GO按钮,表格将不会显示任何内容。

这是我的片段的样子

 
 <!-日期过滤器->
 
 
 
 


 
 
 

这是我的控制器扩展

 sap.ui.controller(" myrep.ext.controller.ListReportExt",{
 onBeforeRebindTableExtension:function(oEvent){
 调试器;
 var mBindingParams = oEvent.getParameter(" bindingParams");
 mBindingParams.parameters = mBindingParams.parameters ||  {};


//客户ID的自定义过滤器
 var sCustomerId = this.getJwtProperty(" KUNNR"); //对于测试,它是" 0000001006"
 如果(sCustomerId){
 var oCustomerFilter = new sap.ui.model.Filter(" CustomerId",sap.ui.model.FilterOperator.EQ,sCustomerId);
 }


 var oSmartTable = oEvent.getSource();
 var oSmartFilterBar = this.byId(oSmartTable.getSmartFilterId());
 var oYearMonthControl = oSmartFilterBar.getControlByKey(" YearMonthFilter");


 var sYearMonth = oYearMonthControl.getValue();
 如果(sYearMonth){
 var oYearMonthFilter = new sap.ui.model.Filter(" YearMonth",sap.ui.model.FilterOperator.EQ,sYearMonth);
 }
 var oMyFilters;


 oMyFilters = new sap.ui.model.Filter({
 过滤器:[
 oYearMonthFilter,
 oCustomerFilter
 ],
 和:正确
 });


 如果(oMyFilters){
 mBindingParams.filters.push(oMyFilters);
 }

 },

 

下面是可行的情况

这是不更新的时间

(21.7 kB)

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

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


你好

我在智能表方面遇到了非常烦人的问题,我用自己的过滤器扩展了过滤器,并在onBeforeRebindTableExtension中设置了这些过滤器。

奇怪的是,有时表中显示数据,但大多数情况下没有。 如果更改过滤器值,则什么也不会更新,但是在"网络"选项卡中,我看到数据已传输。

如果它确实在Smart Table中显示了某些内容,如果我再次单击GO按钮,表格将不会显示任何内容。

这是我的片段的样子

 
 <!-日期过滤器->
 
 
 
 


 
 
 

这是我的控制器扩展

 sap.ui.controller(" myrep.ext.controller.ListReportExt",{
 onBeforeRebindTableExtension:function(oEvent){
 调试器;
 var mBindingParams = oEvent.getParameter(" bindingParams");
 mBindingParams.parameters = mBindingParams.parameters ||  {};


//客户ID的自定义过滤器
 var sCustomerId = this.getJwtProperty(" KUNNR"); //对于测试,它是" 0000001006"
 如果(sCustomerId){
 var oCustomerFilter = new sap.ui.model.Filter(" CustomerId",sap.ui.model.FilterOperator.EQ,sCustomerId);
 }


 var oSmartTable = oEvent.getSource();
 var oSmartFilterBar = this.byId(oSmartTable.getSmartFilterId());
 var oYearMonthControl = oSmartFilterBar.getControlByKey(" YearMonthFilter");


 var sYearMonth = oYearMonthControl.getValue();
 如果(sYearMonth){
 var oYearMonthFilter = new sap.ui.model.Filter(" YearMonth",sap.ui.model.FilterOperator.EQ,sYearMonth);
 }
 var oMyFilters;


 oMyFilters = new sap.ui.model.Filter({
 过滤器:[
 oYearMonthFilter,
 oCustomerFilter
 ],
 和:正确
 });


 如果(oMyFilters){
 mBindingParams.filters.push(oMyFilters);
 }

 },

 

下面是可行的情况

这是不更新的时间

(21.7 kB)
付费偷看设置
发送
1条回答

更新>

该应用程序作为独立应用程序运行,而该应用程序又通过iframe集成到网页中。 出于安全考虑,我必须将JWT令牌传递给后端,并为在网站上登录的客户设置CustomerId筛选器。

我发现,当我为演示文稿变体设置了分组时,它不会刷新,如果删除分组,它会很好地工作。

当我不扩展过滤器栏时它也可以正常工作

因此,我不确定它是各个模板的问题还是由于它在iframe中运行而表现出奇怪。 但目前我有此解决方法

一周热门 更多>