Sapui5 sap.m.PlanningCalendar中是否有加载行的事件?

Sapui5 sap.m.PlanningCalendar中是否有加载行的事件?,sapui5,Sapui5,使用工作列表(甚至主详细信息)模板时,在onInit函数中会出现以下事件: oTable.attachEventance(“updateFinished”,function()){ //恢复工作列表表的原始忙指示灯延迟 oViewModel.setProperty(“/tableBusyDelay”,iOriginalBusyDelay); }); 在view.xml中,您还可以设置updateFinished的eventHandler,以便在列表中收到数据时执行操作 在PlanningCal

使用工作列表(甚至主详细信息)模板时,在
onInit
函数中会出现以下事件:

oTable.attachEventance(“updateFinished”,function()){
//恢复工作列表表的原始忙指示灯延迟
oViewModel.setProperty(“/tableBusyDelay”,iOriginalBusyDelay);
});
view.xml
中,您还可以设置
updateFinished
的eventHandler,以便在列表中收到数据时执行操作

PlanningCalendar
中,您没有这样的eventhandler,我们如何为这样一个组件处理这些事情

我试图实现的逻辑如下:


我只想为日历的可见部分(开始和结束日期过滤)加载和添加“约会”,因此我想自己执行
oDataModel.read
-调用。但是行(DeveloperSet)应该始终保持不变。因此,我应该能够“等待”,直到日历中填充了数据/行,然后手动调用来检索约会

因此,我需要能够在检索数据时执行某些操作,但日历中没有
updateFinished
事件

有人知道如何解决这个问题吗?

当在表或列表中使用事件“updateFinished”时,从方法updateList触发,此方法处理聚合“List”的更新

PlanningCalendar没有updateRows方法,因此没有事件“updateFinished”

如果有,可以侦听行绑定上的dataReceived事件

OnInit: function(){
...
  this.oPlanningCalendar = this.byId("PC1")
  var oBinding = oPlanningCalendar.getBinding("rows");
  oBinding.attachDataReceived(this.fnDataReceived, this);
否则,您可以扩展控件并添加自己的updateRows方法并启动“updateFinished”,下面的黑客测试表明它可以工作

OnInit: function(){
...
  this.oPlanningCalendar = this.byId("PC1");
  this.oPlanningCalendar.updateRows = function(sReason) {
      this.oPlanningCalendar.updateAggregation("rows");

      var oBinding = this.oPlanningCalendar.getBinding("rows");
      if (oBinding) {
         jQuery.sap.log.info("max rows = " + oBinding.getLength() || 0);
      }
  }.bind(this); 

dataReceived事件是使用jsonModel还是仅使用oDataModel激发的。使用JSONModel,我看到事件从未被触发?fireDataReceived仅在请求数据的OData场景中被调用,请尝试updateRows