zoukankan      html  css  js  c++  java
  • 如何使用 controllerExtensions 给 SAP Fiori Elements List Report 的表格注册事件响应函数

    步骤1:在 manifest.json 的 extends 区域里,注册 controllerExtensions:

    源代码:

    "extends": {
                "extensions": {
                    "sap.ui.controllerExtensions": {
                        "sap.suite.ui.generic.template.ListReport.view.ListReport": {
                          "controllerName": "com.sap.jerry.jerryfioriapp.ext.controller.ListReportExtension",
                            "sap.ui.generic.app": {
                              "SEPMRA_C_PD_Product": {
                                "EntitySet": "SEPMRA_C_PD_Product",
                                "Actions": {
                                  "ActionName1": {
                                    "id" : "ActionName1",
                                    "text" : "Jerry的按钮",
                                    "press" : "onCustomAction1",
                                    "global": true
                                  }
                                }
                            }
                        }
                    }        
                }
                }
            },
    

    步骤2:

    实现 controller extension:

    sap.ui.define("com.sap.jerry.jerryfioriapp.ext.controller.ListReportExtension", [], function() {
        return {
            onCustomAction1 : function(oEvent) {
                alert('Hello');
            },
            onAfterRendering: function (oEvent) {
                debugger;
                var oContentTable = this.byId("com.sap.jerry.jerryfioriapp::sap.suite.ui.generic.template.ListReport.view.ListReport::SEPMRA_C_PD_Product--responsiveTable");
                oContentTable.attachSelect(this._onSelectChanged);
        
            },
            _onSelectChanged: function (oEvent) {
                debugger;
    	    }
        }
      });
    

    步骤3:测试。

    运行时,首先触发 onAfterRendering 钩子函数,通过byId API,根据 Smart Table 控件 ID,拿到其 table 实例:

    SAP UI5 里所有的运行时创建实例,都存储在全局对象 mInstances 里,键为 控件 id,值为控件实例。

    拿到 table 实例后,调用其 attach 方法,挂接对应的事件处理函数。

    一切完成后,点击 Smart Table 某行项目,我们使用 attachSelect 注册的事件处理函数就会触发:

    本文参考:Fiori Element List Report – Adjust column size automatically

    更多Jerry的原创文章,尽在:"汪子熙":

  • 相关阅读:
    初识DataGridView 表格数据控件
    数据适配:DataAdapter对象概述
    数据适配 DataAdapter对象
    DataSet常用简单方法
    数据集DataSet
    DateReader读取数据
    Command操作数据
    【bzoj3886】[Usaco2015 Jan]Moovie Mooving 状态压缩dp+二分
    【bzoj1572】[Usaco2009 Open]工作安排Job 贪心+堆
    【bzoj1593】[Usaco2008 Feb]Hotel 旅馆 线段树区间合并
  • 原文地址:https://www.cnblogs.com/sap-jerry/p/14800915.html
Copyright © 2011-2022 走看看