Sapui5 ColumnListItem-事件处理程序";按「;未触发

Sapui5 ColumnListItem-事件处理程序";按「;未触发,sapui5,Sapui5,我使用ColumnListItem在Overview.view.xml中显示销售订单列表。当用户单击(销售订单)列表中的一项时,应用程序应导航到Detail.view.xml 我已经在Overview.Controller.js中定义了onPress事件处理程序。但是该应用程序没有执行该功能(我在那里放置了一个警报(),它没有被触发)。为什么未触发onPress()?如何调试 onPress:功能(oEvent){ //此代码由布局编辑器生成。 警报(“In”); var loOvervie

我使用ColumnListItem在Overview.view.xml中显示销售订单列表。当用户单击(销售订单)列表中的一项时,应用程序应导航到Detail.view.xml

我已经在Overview.Controller.js中定义了
onPress
事件处理程序。但是该应用程序没有执行该功能(我在那里放置了一个
警报()
,它没有被触发)。为什么未触发
onPress()
?如何调试


onPress:功能(oEvent){
//此代码由布局编辑器生成。
警报(“In”);
var loOverview=“来自概览的数据”;
var oItem=oEvent.getSource();
var loRouter=sap.ui.core.UIComponent.getRouterFor(this);
loRouter.navTo(“细节”{
值:oItem.getBindingContext(“oModel”).getPath().substr(1)
});
},

您应该在表控件上绑定的属性是
itemPress
,并且您的ColumnListItem的类型必须等于
Navigation


您能检查一下吗?

由于您没有为其编写正确的处理程序,因此press函数不起作用。根据您的代码,处理程序是为
detailPress
编写的。只是一个输入错误,将处理程序更改为
,它应该就可以工作了

当前:


所需更改:



itemPress不是有效的事件。detailPress是有效事件,但单击详细信息行时未发生任何事件。我尝试使用StandardListItem而不是ColumnListItem,触发了“press”事件。我可以使用getSource().getBindingContext(“myOdata”).getPath()检索该项。为什么ColumnListItem不起作用?最初,我使用了press=“onPress”,但它不起作用,所以我切换到detailPress=“onPress”,但仍然不起作用。在这里发布我的问题之后,我创建了另一个项目和名称空间来尝试这个ColumnListItem控件。但这一次它起了作用,但我并没有看到和我之前遇到问题的代码有什么不同。我只记得以前的版本,列表中的每个项目的右侧都没有“>”。如果ListType为“Inactive”(默认列表类型),我们从中得到的任何提示都将无效。这里有更多的细节:“导航”和“活动”有什么区别?看起来两者都可以工作。导航显示一个图标:
,表示它将带您去某个地方。“活动”表示您可以按下并单击将执行某些操作。更多的是语义学。@RichardNg请接受这个答案,让其他人知道这个问题现在已经解决了。看见