如何从StandardListItem中获取所选项目

时间:2017-05-12 23:52:41

标签: sapui5

我正在构建一个主要细节应用程序。我正在使用sap.m.StandardListItem列出主对象。我希望选定的主对象出现在详细信息页面上。

<List id="lstRequest" headerText="Custom Content" selected="true" items="{
    path: '/Requests',
    parameters: {
        expand: 'RequestTypeDetails'
    }
}">
    <StandardListItem
        title="{RequestTypeDetails/RequestType2} - {RequestCode}"
        description="{TotalAdvance}"
        icon="sap-icon://request"
        iconDensityAware="false"
        iconInset="false"
        type="Navigation"
        press="onSelectApprovation"
    />
</List>

我正在关注here的指南,但在我的情况下不起作用。

var source = event.getSource();
var bindingobject = event.getBindingContext("Requests");

bindingobjectundefined

2 个答案:

答案 0 :(得分:1)

在onSelectApprovation内部执行以下操作:

var oItem = oEvent.getParameter("listItem") || oEvent.getSource());
var oCtx = oItem.getBindingContext();
var requestCode = oCtx.getProperty("RequestCode");

顺便说一下:sap.m.List没有一个名为“selected”的boolean类型的属性。但是,它有一个select事件,也可以使用而不是使用StandardListItem的按下事件......

答案 1 :(得分:0)

在将json模型设置为如下所示的列表时给出逻辑名称。

this.getView().byId("lstRequest").setModel(oListJson,"List");

oListJson将是您的数据数组。

现在使用您的代码访问onSelectApprovation功能中的列表对象,如下所示

onSelectApprovation : function(oEvent){
     var bindingobject = oEvent.getSource().getBindingContext("List");
}