sap.ui.table.Table过滤器事件在过滤值之前触发。

2020-08-21 11:59发布

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

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

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


大家好,

我正在使用 sap.ui.table.Table ,并在表的页脚中显示列的总和值。 我有一个要求,在只用可见行的总和过滤表之后,总和值应该更新。

我正在使用 sap.ui.table.Table 的 filter 事件,这是获取可见行的方法:

 var vRowIndices = oEvent.getSource()。getBinding(" rows")。aIndices
 var vRows = []
 vRowIndices.forEach(function(i){
     vRows.push(sap.ui.getCore()。getModel(" oModel")。getProperty("/" + i))
 })

我的问题是 filter 事件在表被过滤之前执行我的代码,而aIndices返回在应用当前过滤器之前可见的行的索引。


我当前的解决方案是使用超时并将上述代码的执行延迟到过滤完成之后,否则我将获得行的先前状态(在应用过滤器之前)

 setTimeout(function(){
     thiz.getColumnSummation(oEvent);
 },100);
 

此解决方案有效,但并不理想,我正在寻找一种更好的方法来实现这一目标。

谢谢!

2条回答
compass1988
2020-08-21 12:36

嗨,马塞尔,尝试使用绑定attachChange;

 var选项卡= this.getView()。byId(" tableCust"),
   oBinding = tab.getBinding(" rows");

  oBinding.attachChange(function(sReason){
  //代码
  });
 

一周热门 更多>