Sapui5 如何检索单击的行数?

Sapui5 如何检索单击的行数?,sapui5,Sapui5,我创建此表: tableResult.bindAggregation("items", "/items", new sap.m.ColumnListItem({ cells: tableResult.getModel().getProperty("/cols").map(function (colname) { return new sap.m.Label({ text: "{" + colname + "}" });

我创建此表:

tableResult.bindAggregation("items", "/items", new sap.m.ColumnListItem({
            cells: tableResult.getModel().getProperty("/cols").map(function (colname) {
                return new sap.m.Label({ text: "{" + colname + "}" });
            }),
            type:"Navigation",
            press:"handleRowPress"
        }));
        tableResult.setProperty("visible",true);
在函数
handleRowPress
中,如何检索单击的行数(第一行、第二行、第n行)?

我找到了一个解决方案

handleRowPress : function(evt){
        var path=evt.getParameter("listItem");
        var sId=path.sId;
        var selectedRowNum = sId.substr(sId.lastIndexOf("-") + 1);
        console.log(selectedRowNum);

    }

UI5提供的更好的解决方案是:

handleRowPress : function(oEvent){
    var selectedRowNum = oEvent.getSource().indexOfItem(oEvent.getParameter("listItem"));
    console.log(selectedRowNum);
}

注意:从生成的ID检索索引通常是个坏主意,特别是在考虑排序/筛选等时;-)

您是否已经检查了
sap.m.Table
方法
indexOfItem()
方法(它是从class
sap.m.ListBase
借用的)?对不起,我重写了我的问题:我有handleRowPress函数
handleRowPress:function(evt){evt……}
如何从“evt”中删除所选项目的数量?好的,它可以工作,但为什么每次单击项目时都会出现此错误
UncaughtTypeError:undefined不是sap ui core.js:122的函数
如果不看你的代码,我就不知道了。。。请看这个工作示例: