如何从 SAP Fiori Elements List Report Table 点击事件响应函数里拿到表格某一行的信息

千磨万击还坚劲,任尔东西南北风。这篇文章主要讲述如何从 SAP Fiori Elements List Report Table 点击事件响应函数里拿到表格某一行的信息相关的知识,希望能为你提供帮助。


如下图所示, 表格工具栏里增添新的自定义按钮 里介绍的方式,在 SAP Fiori Elements List Report 应用的 table 工具栏里,添加了一个自定义按钮:

如何从 SAP Fiori Elements List Report Table 点击事件响应函数里拿到表格某一行的信息

文章图片

下一步,我期望选中某行表项后,点击该按钮,能弹出对应表项的一些数据。
所以问题的焦点,就是如何从按钮的点击处理函数 onCustomAction1 的输入参数 oEvent 里,获得当前表格里被选中的数据。
如何从 SAP Fiori Elements List Report Table 点击事件响应函数里拿到表格某一行的信息

文章图片

我们从 oEvent 变量触发:
如何从 SAP Fiori Elements List Report Table 点击事件响应函数里拿到表格某一行的信息

文章图片

oEvent.oSource 指向当前触发事件的 UI 控件,即 自定义按钮控件:
如何从 SAP Fiori Elements List Report Table 点击事件响应函数里拿到表格某一行的信息

文章图片

按钮的 parent 是 toolbar:
如何从 SAP Fiori Elements List Report Table 点击事件响应函数里拿到表格某一行的信息

文章图片

Toolbar 的 parent 就是整个响应式 table 了:
如何从 SAP Fiori Elements List Report Table 点击事件响应函数里拿到表格某一行的信息

文章图片

调用 getSelectedItem() 拿到当前选中行:
如何从 SAP Fiori Elements List Report Table 点击事件响应函数里拿到表格某一行的信息

文章图片

这个 ColumnListItem 包含了当前选中行的所有列。
调用其 getCells 方法,得到 8 个 Table Columns 的实例:
如何从 SAP Fiori Elements List Report Table 点击事件响应函数里拿到表格某一行的信息

文章图片

【如何从 SAP Fiori Elements List Report Table 点击事件响应函数里拿到表格某一行的信息】
如何从 SAP Fiori Elements List Report Table 点击事件响应函数里拿到表格某一行的信息

文章图片

如何从 SAP Fiori Elements List Report Table 点击事件响应函数里拿到表格某一行的信息

文章图片

从其 sId 大致能辨识出每个 Column 代表的含义,或者直接根据其 index 也就是索引,也能判断出。比如第一个元素,是 product image column,而第二个元素 vbox,是一个复合控件,Vertical Box. 第三个元素,是一个 Text 控件,Product Category.
取得 Product Category 的代码比较简单:
如何从 SAP Fiori Elements List Report Table 点击事件响应函数里拿到表格某一行的信息

文章图片

先使用 getItems 拿到 vertical box 包含的所有数据:
如何从 SAP Fiori Elements List Report Table 点击事件响应函数里拿到表格某一行的信息

文章图片

然后再逐一访问每条数据实例,调用 getText 即可获得逐条数据内容。
如何从 SAP Fiori Elements List Report Table 点击事件响应函数里拿到表格某一行的信息

文章图片

更多Jerry的原创文章,尽在:"汪子熙":
如何从 SAP Fiori Elements List Report Table 点击事件响应函数里拿到表格某一行的信息

文章图片







    推荐阅读