当前位置: 首页 > 后端技术 > Node.js

SAPUI5tablelineitem中的按钮点击后,如何获取当前tablelineitem的数据

时间:2023-04-03 15:29:32 Node.js

我的SAPUI5教程这篇文章下面有朋友留言提问:想请教一个问题,我在表格里放了一个按钮,如何点击按钮获取这一行的数据,本文专门解答。首先,我们必须在表格行项目中构建一个按钮。重复使用我的教程第33步的源代码:SAPUI5应用程序开发教程33-SAPUI5应用程序的响应能力。做如下修改:在InvoiceList.view.xml的Columns区域,添加一个Column,并显示一个随机文本,比如unbinding:在items元素的ColumnListItem元素下,添加一个Button元素:以我的例子来说,使用本地SAPUI5应用程序消费远程OData服务,因此会遇到跨域错误(CORS错误)。为了暂时避免这个问题,使用如下命令行启动Chrome,让Chrome忽略跨域错误:chrome.exe--user-data-dir="C:/temp"--disable-web-security然后按照我教程介绍的方法,在本地启动SAPUI5应用程序,打开下面的url,可以看到这一行包含按钮列表为:http://localhost:8080/webapp/...打开33文件夹下的InvoiceList.controller.js,实现按钮点击处理函数onUnbind:如何利用onUnbind函数中传入的入参oEvent,获取按钮被点击的表格行项的附加数据呢?假设我们要获取表格行项的Title数据,注意这一点,Title列和解除绑定按钮有同一个父控件,就是表格行项本身。因此,基本的实现思路是:从oEvent中传入参数,获取当前点击按钮所在的表格行项的实例,根据表格行项,获取其子控件,即Title字段,并打印其值标题字段。因此,onUnbind的完整实现代码如下:onUnbind:function(oEvent){varoLineItem=oEvent.getSource().getParent();varoTitleField=oLineItem.getAggregation("cells")[1];警报(oTitleField.getProperty(“标题”));},varoLineItem=oEvent.getSource().getParent():oEvent.getSource()返回点击事件发生的控件,即解除绑定按钮本身。解除绑定按钮调用getParent返回其父控件,即点击解除绑定按钮的表格行项。varoTitleField=oLineItem.getAggregation("cells")[1];这行的意思是行项实例的聚合属性一共包含6个元素,对应表的6列。我们可以在调试器中观察index为1的聚合内容:最终效果,点击任意一个行项的按钮,可以打印出该行项的Name字段(绑定到title属性)的值。