点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
我正在尝试将MVC模式用于SAPUI5,并且大部分事情都在起作用。 我有一个XMLView,它绑定一个分配给" DS"名称的JSONModel,该JSONModel具有如下数据:
{ 磁贴:[{标题:"标题A"},{标题:"标题B"},...], otherProperty:[...] }
在我看来,XML能够将数据绑定到sap.m.List,如下所示:
<工具栏> <标题文本="标题"级别=" H1"/> 工具栏> 列表>
我的问题是您可以看到我有一个分配给StandardListItem模板的tileDetail处理程序。 这可以正确触发,但是我需要确定它所在的tile数组中的位置(JSON结构中没有键可依赖)。
我一直在玩各种各样的bindingContext东西,我可以得到一个PATH但没有它的索引...有什么想法吗?
tileDetail:函数(oControlEvent){ var oItem = oControlEvent.getSource(); var oCtx = oItem.getBindingContext(" DS"); var path = oCtx.getPath(); //返回/tiles/0 alert(oCtx.getProperty(" header")); //返回"标题A" 尝试{ this.getRouter()。navTo(" tiles",{ 索引://??? 我如何传递0、1、2等??? }); }抓住{e} { alert("错误导航:" + e); } },
我希望我只是做错了什么,有一种简单的方法可以将索引传递给路由器(我的最终目标)-当然,我不必做一些低技术的事情,例如在路径上分割字符串 基于斜线等?
感谢您的帮助!
列表的二手方法indexOfItem
类似的代码可能会起作用,oItem.getParent()。indexOfItem(oItem)
谢谢这个建议!! 为我工作!
这是我的代码示例:
onBelegDeleteButtonPress:function(oEvent){//当我按下列表项时调用
var oSelectedItem = oEvent.getParameter('listItem'); //获取ListItem
var sPath = oSelectedItem.getBindingContext()。getPath(); //获取项目绑定到的路径
var iSelectedItemIndex = parseInt(sPath.substring(sPath.lastIndexOf('/')+ 1)); //获取列表项的索引
返回iSelectedItemIndex;
},
您可能是对的。 据我所知,我从未将ODataModel绑定到视图,但是OData确实具有.toJSON()或一些类似的方法。
但幸运的是,他使用了JSONModel????
嗨,迈克,
这对我有用。 您可以尝试一下。
var table = this.getView()。byId(" ShortProductList"); var rowItems = table.getSelectedItems(); var selectedval = rowItems [0] .mBindingInfos.title.binding.oValue;ShortProductList是列表ID。
谢谢
Geetha Rani。
这适用于标准列表项????..尝试一次..对我有用。
嗨,迈克,
您可以绑定StandardListItem的'title'和'description'属性。 一个带有键,另一个带有文本。 然后,您可以尝试
oControlEvent.getSource()。getTitle()和oControlEvent.getSource()。getDescription()。
BR。
一周热门 更多>