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