SAPUI5按索引获取行的绑定上下文

SAPUI5按索引获取行的绑定上下文,sapui5,Sapui5,在我的应用程序中,我有一个sap.m.表。数据位于JSON模型中,并绑定到表。在我的函数中,我需要循环所有表行,并检查每个可见行的特定属性值。我可以这样确定可见行: sap.ui.getCore().byId("myTableId").getAggregation("items") sap.ui.getCore().byId("__xmlview1--idPartnerList").getAggregation("items")[0].getBindingContext().getObject

在我的应用程序中,我有一个sap.m.表。数据位于JSON模型中,并绑定到表。在我的函数中,我需要循环所有表行,并检查每个可见行的特定属性值。我可以这样确定可见行:

sap.ui.getCore().byId("myTableId").getAggregation("items")
sap.ui.getCore().byId("__xmlview1--idPartnerList").getAggregation("items")[0].getBindingContext().getObject()
但是,我无法使用诸如getBindingContext之类的函数来确定行的属性值


有什么提示吗

不应直接使用sap.ui.getCore.byId,而应使用this.getView.byId,其中this.getView.byId是控制器本身

无论如何,聚合的每个项都有一个可用的绑定上下文。这取决于要将上下文绑定到的模型的名称

在我的示例中,我正在访问表的第一项的绑定上下文对象,您可以这样做:

sap.ui.getCore().byId("myTableId").getAggregation("items")
sap.ui.getCore().byId("__xmlview1--idPartnerList").getAggregation("items")[0].getBindingContext().getObject()
否则,如果您直接从控件访问视图,您可以这样做

this.getView().byId("idPartnerList").getAggregation("items")[0].getBindingContext().getObject()

您应该能够使用以下代码获取表中每一行的bindingContext:

如果在本地json模型中有别名

sap.ui.getCore().byId("myTableId").getAggregation("items")[0].getBindingContext("<alias model name>").getObject();
sap.ui.getCore().byId("myTableId").getAggregation("items")[0].getBindingContext().getObject();

谢谢。

谢谢你的回答。我无法使用this.getView.byId,因为我在控制器中创建了表。我只能通过sap.ui.getCore访问它。当我尝试在其中一个项目上使用getBindingContext.getObject时,我得到一个错误,因为getBindingContext已经未定义…如果没有代码,我无法帮助您。如果上下文未定义,那是因为您使用的是一个模型名,而我不在示例中,或者您的项目在特定时间没有上下文,这真的很奇怪。无论如何,您应该遵循MVC原则,在XML视图上定义视图和绑定