代码之家  ›  专栏  ›  技术社区  ›  MJBZA

加载数据失败时,SAPUI5 SmartTable的事件是什么?

  •  1
  • MJBZA  · 技术社区  · 6 年前

    例如:

    oSmartTable.getBinding("items").attachEventOnce("dataFailed", ....
    

    我们没有这样的活动,但我需要这样的东西。

    1 回复  |  直到 6 年前
        1
  •  1
  •   MJBZA    6 年前

    如果我们有一个智能桌子,里面有一张这样的桌子,我们可以用它的 dataRequested 事件:

    <smartTable:SmartTable .....  dataRequested="onDataRequested">
      <m:Table id="table" ...>
      ....
      </m:Table>
    </smartTable:SmartTable>
    

    通过使用此事件,我们尝试添加 dataReceived 表的事件:

    onDataRequested: function(oEvent){
        var oTable =  this.byId("table");
        oTable.getBinding("items").attachEventOnce("dataReceived",function(oData) {
            if(!oData.getParameter("data")){
                // Do something here        
            }
        }, this);
    }
    
        2
  •  1
  •   krisho    4 年前

    以下是UI51.56中的一个简单解决方案

    在你看来

    <smartTable:SmartTable id="smartTable" entitySet="PRs" smartFilterId="smartFilterBar"
     tableType="ResponsiveTable" beforeRebindTable=".onBeforeRebind">
    

    在你的控制器里

    onBeforeRebind: function (oEvent) {
      var mBindingParams = oEvent.getParameter("bindingParams");
      //Event handlers for the binding
      mBindingParams.events = {
        "dataReceived" : function(oEvent){
            var aReceivedData = oEvent.getParameter('data');
            },
            //More event handling can be done here
      };
    }