在表中单击链接控件时获取行索引

2020-08-19 07:00发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我的UI5表由以下行组成:

第1列:链接(单击链接后,ThingInspector将打开,显示该项目的详细信息 )

第2列:文本(商品的简短说明)

第3列:图片(点击此图片后,该商品将被删除)

如果 您单击给定行的链接,表中的选择不会更改。

但是,我需要知道正在单击的项目,以便可以在ThingInspector中显示详细信息。

p>

我发现的唯一解决方案是将Link的'target'属性绑定到'id'模型字段。

在链接上触发时,我通过javascript检查了当前链接的'target'属性的内容并采取行动

"图像"列也会发生相同的问题。

我猜这不是一个好的设计,但是我发现的唯一替代方法是对Link和Image都进行子类化以添加一个

有人可以在UI5中显示此方案的最佳做法吗?

非常感谢

致谢

文森佐

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我的UI5表由以下行组成:

第1列:链接(单击链接后,ThingInspector将打开,显示该项目的详细信息 )

第2列:文本(商品的简短说明)

第3列:图片(点击此图片后,该商品将被删除)

如果 您单击给定行的链接,表中的选择不会更改。

但是,我需要知道正在单击的项目,以便可以在ThingInspector中显示详细信息。

p>

我发现的唯一解决方案是将Link的'target'属性绑定到'id'模型字段。

在链接上触发时,我通过javascript检查了当前链接的'target'属性的内容并采取行动

"图像"列也会发生相同的问题。

我猜这不是一个好的设计,但是我发现的唯一替代方法是对Link和Image都进行子类化以添加一个

有人可以在UI5中显示此方案的最佳做法吗?

非常感谢

致谢

文森佐

付费偷看设置
发送
3条回答
浮生未央
1楼 · 2020-08-19 07:05.采纳回答

在链接的Press事件上,您可以通过

event.getSource()。getParent()。getIndex()

haha101010
2楼-- · 2020-08-19 07:01

Hi Sandip获取索引, 谢谢您的帮助。

我将您的建议与其他一些技巧结合在一起:

 var eventHandler = function(oEvent){
   var index = oEvent.getSource()。getParent()。getIndex();
   var rowContext = oTable.getContextByIndex(index);
   var objId = rowContext.getProperty('id');
   controller.doSomething(objId);
   };
 

我猜表中的索引与模型数组中的索引不同,因为可以对表进行排序/过滤。

此外,我认为使用objId代替索引要可靠得多,因此我从行上下文中检索所选项目的ID,然后仅将objid用作唯一引用。

欢迎任何评论

谢谢,问候

Vincenzo

大道至简
3楼-- · 2020-08-19 07:15

您也可以尝试:

//获取Row对象

var oSelectedItem = oEvent.getSource()。getBindingContext('oModel2')。getObject();

var oBindingContext = oEvent.getSource()。getBindingContext('oModel2');

//获取所选行的索引var index = oEvent.getSource()。getBindingContext('oModel2')。getPath()。split("/")[2];

如果跟踪oBindingContext,您将注意到它具有一个sPath属性,我们可以使用它来检索索引。 sPath的格式为/ModelDataName/x,其中x为索引。 因此,用"/"将路径分割两次。

一周热门 更多>